こんにちはブログ担当のYです。
今回も論理クイズを紹介します。
トランプ当て

ある日、2人の囚人にあるゲームを脱出のチャンスが与えられます。
条件はあるゲームをクリアすることです。
ルール
・片方の囚人に5枚のトランプが与えられる。
・5枚の中から自由に1枚選び、看守に渡す。
・残りの4枚を好きな順番でもう1人の囚人へ渡す。
・トランプを渡された囚人は、看守の持っているトランプが何か推測し、当たれば解放される。
・ゲームが始まるとカードを渡す以外、一切の意思疎通は取れません。
さて、囚人たちはどのような作戦を立てれば、確実に解放されるでしょうか?
※トランプは4種類のスート(スペード、ダイヤ、ハート、クラブ)で各13枚(A、2、3…J、Q、K)の合計52枚から、重複なしで5枚与えられます。
※トランプを破ったり折ったりすることで何かを伝えることは禁止されています。
Puzzling Stack Exchange[The 5 card problem with 2 prisoners]
ヒント
ゲームの条件を整理してみましょう。
- 囚人たちは与えられた5枚のトランプのうち1枚を看守に渡す。
- 残りの4枚をもう1人の囚人に好きな順番で渡す。
- もう1人の囚人は、渡された4枚のカードから、看守に渡されたカードを推測する。
トランプのカードを推測するにはどのような情報が必要でしょうか?
それには、スート(スペード、ダイヤ、ハート、クラブ)と数字(A〜K)の2つの情報が必要です。
ヒントでは、スートを推測する方法を紹介します。
看守のカードのスートを推測する方法
まず、初めに5枚のカードが与えられます。
スートは4種類しかないため、必ず2枚以上同じスートのペアが存在します。
そのため、「看守に渡すカード」と「もう1人の囚人に渡す1枚目のカード」のスートを同じにする、という作戦を取ります。
すると、もう1人の囚人は看守のカードのスートがわかるというわけです。

例えば、渡された5枚のカードが「♤3」「♤5」「♢7」「♡Q」「♧10」だったとします。
この5枚のうち、同じスートのペアは「♤3」と「♤5」です。

なので、看守には「♤3」を渡し、もう1人の囚人に1枚目に「♤5」を渡します。
それは、看守のカードのスートがスペードであることを意味します。
このように、もう1人の囚人へ渡すカードの順番を、看守のカードを推測するための手がかりにすることができます。
残りの3枚のカードを渡す順番で、あとは数字を特定すれば良いだけです。
答え
カードを渡す順番で、看守のカードを伝える(解説参照)
解説
初めに、看守のカードのスートを特定するための方法を考えます。
スートは4種類、カードは5枚なので、必ず同じスートのペアが1つ以上存在します。
そのため、「看守に渡すカード」と「もう1人の囚人に渡す1枚目のカード」を同じスートのカードにします。
すると、1枚目のカードだけで看守のカードのスートがわかるという寸法です。(詳しくはヒント参照)
次に、看守のカードの数字を特定させるための方法を考えます。
囚人に渡すカードは残り3枚です。
また、カードの内訳は完全にランダムのため、あるカードに特殊な意味を持たせることはできません。
単純に渡す順番でしか情報を伝えることはできません。
3枚のカードを渡す順番で与えられる情報は、3! = 6通りです。
例えば、3枚のカードの大小を基準に渡す順番で数字を伝えることができます。
3枚のカードの順番で1〜6を伝える
大→中→小 = 1
大→小→中 = 2
中→大→小 = 3
中→小→大 = 4
小→大→中 = 5
小→中→大 = 6
カードの大小は、単純に数字の大小で決め、数字が同じ場合は ♤ > ♢ > ♡ > ♧のような順番で考えます。(あくまで一例です)
では、看守のカードの数字として考えられるのは何通りでしょうか。
カードの数字は13通りで、看守のカードと囚人に渡す1枚目のカードはスートが同じなので、1枚目のカードの数字は除いて考えることができます。
つまり 13-1 = 12通りです。
3枚のカードで伝えられる6通りの情報だけでは、看守のカードの数字はわかりません。
そのため、もう一度1枚目に渡すカードを考えてみましょう。

ヒントの時と同じ例を使います。
この時、スートが同じペアはスペードの3と5です。
なのでどちらかを看守に渡し、もう片方を囚人に1枚目として渡します。
どちらを看守に渡し、どちらを囚人に渡せば良いでしょうか。
「差が6以下になるように考えた時、大きい方を看守に渡し、小さい方をもう1人の囚人に渡す」ことで、数字を6通りまで絞り込めます。

例えば例のスペードの3と5の場合、大きい方の5を看守に渡し、小さい方の3を囚人に渡します。
また、「囚人に渡した1枚目のカードの数字に1〜6の数字を足すことで看守のカードの数字になる」という作戦を立てます。
この場合は、囚人渡した3に「2」を足せば看守のカードになるため、残りの3枚で「2」を伝えます。
上記の3枚のカードで1〜6の数字を伝える方法から、大→小→中の順番で渡すことで「2」が伝えられることがわかります。
そのため、残りの♢7、♡Q、♧10を大→小→中の順に並べると、♡Q→♢7→♧10です。
したがって、看守には♤5のカードを渡し、もう1人の囚人に♤3→♡Q→♢7→♧10の順番でカードを渡すことで、もう1人の囚人に♤5を伝えることができます。

では、同じスートのペアが2と10のように差が6より大きい場合はどうすれば良いでしょう?
10を看守に、2を囚人に渡したとしても、差が8なので1〜6では伝えられません。
そこで役に立つのが、「差が6以下になるように考える」ことです。
トランプのKとAを7並べのようにつなげて考えることで、どのような組み合わせでも差が6以下になります。
2と10の場合、10 → J → Q → K → A → 2のように考えることで、「2が10より5大きい」と考えることができます。
つまり大きい方の2を看守に渡し、小さい方の10を囚人に渡し、残りの3枚で5を伝えることで、看守のカードを伝えることができます。
もう1つ例を挙げてうまくいくか試してみましょう。
♤A、♤4、♤9、♡K、♧Kの5枚が与えられます。
まず、スートが同じ2枚を探します。
今回は♤A、♤4、♤9の3枚がスートが同じです。
好きな2枚を選び、大きい方を看守に、小さい方を囚人(1枚目)に渡します。
今回は♤Aと♤4を選びました。
次に、選んだカードの差を数えます。
Aと4なので差は3です。
残りの3枚のカードを渡す順番で3を伝えます。
次に残りのカードの大小を考えます。
♡Kと♧Kは数字が同じですが、数字が同じ時は♤ > ♢ > ♡ > ♧の順序に従うので、♡K > ♧Kです。
3を伝えるには、中 → 大 → 小の順に渡せば良いため、1枚目に♤A、そこから♧K → ♡K → ♤9の順番で渡します。


他の論理クイズの記事もCheck!