某有名企業の入社試験を解いてみた。

こんな問題がある。


天才集団NTGのメンバーがアメリカ大陸へ渡ろうとしていた。
NTGは室内王者、黒豹、白鴎、根来、AL、悪夢、縞蜂、増山で構成されている。

そこに対抗勢力の架幽が現れた。
架幽は部下の桜、貞二、岡山を連れてきていた。
室内王者が用意した船には、一度に二人まで乗ることができる。

船を操縦できるのは室内王者、黒豹、白鴎、根来、ALの5人のみである。

室内王者は、黒豹が傍にいないと桜を撲殺しようとする。
逆に黒豹は、室内王者がいないと貞二を絞殺しようとする。
根来は、室内王者か黒豹がいないと架幽の部下を銃器で皆殺しにしようとする。
ALは、根来か増山がいないと心の支えを失って自殺する。
増山は根来かALがいないとその場にいる全員を殺そうとする。
縞蜂は、白鴎がいないとその場にいる全員を殺そうとする。

NTGはとても危険な集団だ。

そして架幽の部下の間にも確執は存在する。
岡山以外の二人は、室内王者か黒豹がいないと岡山を毒殺しようとする。

彼ら全員が無事にアメリカ大陸へ移動するには、どういう手順を踏めばいいだろうか?


とりあえずネーミングセンスがおかしい、というのは置いといて、何か複雑そうです。でも解体すればなんとかなるのでは、と思って解いてみました。完全ではないですが、確実性の高い解法が存在するようです。以下大ネタバレ。




0.
x室内王者、x黒豹、x白鴎、x根来、xAL、悪夢、縞蜂、増山、架幽、桜、貞二、岡山
----

↑見方
ターン数.
対岸のスタート側
----
対岸のゴール側

名前の前にxがついている人が船を運転できる。矢印がそのターンで移動した人。


まず全員の条件を俯瞰します。一番条件が厳しいものを探すと、

・縞蜂は、白鴎がいないとその場にいる全員を殺そうとする。

間違いなくコレ。他はターゲットが決まっているのですが、コイツ(と増山)は無差別。増山と比較すると一緒にいることを要求する人間が1人という点でも縞蜂を最優先で考えるべき、と分かる。

つまり縞蜂と白鴎は原則一緒に行動すべきとなる。一方、白鴎は誰かと一緒にいなければならない、というのがないのでかなりお得。以上から、白鴎-縞蜂の組み合わせは最初に行動させるか最後に行動させるか、となる(途中ではずっと分離させない、という前提が崩れてしまうので)。

ここでは白鴎-縞蜂を最初に行動させる、とする。すると自動的にここまで決まる。あと、今後一度だけ「白鴎-縞蜂」組を戻してもOK、というのを忘れてはいけない(これをやった場合、最後に動かすのは白鴎-縞蜂組と決まる)。

1.
x室内王者、x黒豹、x根来、xAL、悪夢、増山、架幽、桜、貞二、岡山
----
↓x白鴎、↓縞蜂

2.
x室内王者、x黒豹、↑x白鴎、x根来、xAL、悪夢、増山、架幽、桜、貞二、岡山
----
縞蜂

白鴎-縞蜂の組み合わせを固持するためには次のターンで白鴎を動かす必要がある。でその次のターンはその相方が帰ってこなければならない。つまり自動的に白鴎の相方は船が運転できる人間となる。白鴎-縞蜂を最初に行動させたのはこのため。最後だとすると最初の場合わけが多くなるからファーストチョイスとしては選びたくなかった。あとは候補の4人について条件と付き合わせれば白鴎のパートナーは自動的に根来と決まる。

3.
x室内王者、x黒豹、xAL、悪夢、増山、架幽、桜、貞二、岡山
----
↓x白鴎、↓x根来、縞蜂

4.
x室内王者、x黒豹、↑x根来、xAL、悪夢、増山、架幽、桜、貞二、岡山
----
x白鴎、縞蜂

ここからは複数パターンあると思う。最速と思われるのは、やっぱり条件が厳しいところから行く、という考え。あと、船が運転できる人間を優先的に考える。するとこれ。

・根来は、室内王者か黒豹がいないと架幽の部下を銃器で皆殺しにしようとする。

これがやばい。ということで根来を一旦対岸へ送ることにする。相方が船を運転できる人間ならそっちが帰ってくれば良いし、できない人間なら根来がもう一回帰ってくる必要がある。すると運転可能組は全滅。不可能組の中では悪夢と架幽(実はこいつ等も何にも縛りがない)がOK。ということで動かす。

5.
x室内王者、x黒豹、xAL、増山、架幽、桜、貞二、岡山
----
↓x根来、x白鴎、↓悪夢、縞蜂

6.
x室内王者、x黒豹、↑x根来、xAL、増山、架幽、桜、貞二、岡山
----
x白鴎、悪夢、縞蜂

7.
x室内王者、x黒豹、xAL、増山、桜、貞二、岡山
----
↓x根来、x白鴎、悪夢、縞蜂、↓架幽

8.
x室内王者、x黒豹、↑x根来、xAL、増山、桜、貞二、岡山
----
x白鴎、悪夢、縞蜂、架幽

ここまで来るともう根来が使えない。なので他。ALもダメなのが自明。すると室内王者か黒豹を使う。つか、室内王者と黒豹って論理的に等価だし。だから次からの流れは黒豹-桜でもOK。

9.
x黒豹、x根来、xAL、増山、桜、岡山
----
↓x室内王者、x白鴎、悪夢、縞蜂、架幽、↓貞二

10.
↑x室内王者、x黒豹、x根来、xAL、増山、桜、岡山
----
x白鴎、悪夢、縞蜂、架幽、貞二

11.
x黒豹、x根来、xAL、増山、桜
----
↓x室内王者、x白鴎、悪夢、縞蜂、架幽、貞二、↓岡山

ここで一見詰んだように見えます。ということで奥の手の「白鴎-縞蜂」組を一旦戻す手を使います。

12.
x黒豹、↑x白鴎、x根来、xAL、↑縞蜂、増山、桜
----
x室内王者、悪夢、架幽、貞二、岡山

一旦リセットされたっぽい。

そこで、この時点でゴール側にいる5人はこれ以降動かさない、という仮定を入れる。また、当然「白鴎-縞蜂」組も最後まで動かせない。以上から絞込みをすると次の一手はこれしかない。

13.
x白鴎、xAL、縞蜂、増山、桜
----
x室内王者、↓x黒豹、↓x根来、悪夢、架幽、貞二、岡山

これが若干分かりにくいが、慎重にやるとこれ以外はダメだと分かる。

ここを越えると一本道。

14.
↑x黒豹、x白鴎、xAL、縞蜂、増山、桜
----
x室内王者、x根来、悪夢、架幽、貞二、岡山

15.
x黒豹、x白鴎、縞蜂、桜
----
x室内王者、x根来、↓xAL、悪夢、↓増山、架幽、貞二、岡山

16.
x黒豹、↑x根来、x白鴎、縞蜂、桜
----
x室内王者、xAL、悪夢、増山、架幽、貞二、岡山

17.
x白鴎、縞蜂、桜
----
x室内王者、↓x黒豹、↓x根来、xAL、悪夢、増山、架幽、貞二、岡山

ここで桜を動かしたくなるが、そうするとラストではまる。

18.
↑x黒豹、x白鴎、縞蜂、桜
----
x室内王者、x根来、xAL、悪夢、増山、架幽、貞二、岡山

19.
x白鴎、縞蜂
----
x室内王者、↓x黒豹、x根来、xAL、悪夢、増山、架幽、↓桜、貞二、岡山

一手目と完全に逆転した。ここまで来るとあと一息。というか1~4手目をひっくり返せば良いだけ。

20.
x白鴎、↑x根来、縞蜂
----
x室内王者、x黒豹、xAL、悪夢、増山、架幽、桜、貞二、岡山

21.
縞蜂
----
x室内王者、x黒豹、↓x白鴎、↓x根来、xAL、悪夢、増山、架幽、桜、貞二、岡山

22.
↑x白鴎、縞蜂
----
x室内王者、x黒豹、x根来、xAL、悪夢、増山、架幽、桜、貞二、岡山

23.(完成)
----
x室内王者、x黒豹、↓x白鴎、x根来、xAL、悪夢、↓縞蜂、増山、架幽、桜、貞二、岡山

分かりにくいのは12手目で一旦白鴎たちを戻すところと次の13手目(場合わけがちょっと面倒)、17手目(引っかかりやすい)ですかね。あとは条件の多さとネーミングセンスの頭の悪さにびびらず落ち着いてやれば見た目ほど複雑ではないかも。むしろどうやったらこの手の問題を作れるのか(例えばここで白鴎に縛りを入れたら問題は成立するのか? それをどうやって証明するのか?)、というのが気になる。これみたいに最初から解けること前提だったら延々やればいつかは解けるし。
[PR]
by fyama_tani | 2009-04-29 00:09 | 雑記