ヒットアンドブロー
問)
ヒット&ブローというゲームがあります。
出題者が、0〜9までの4つの数字を考えます。
回答者は、数字を予想して、あっているかどうか尋ねます。
出題者は、
数字が同じ場所にあればヒット(H)
数字が違う場所にあればブロー(B)
ひとつも同じ数字がなければファウル(F)
と答えます。
例えば、出題者の考えた数字が1357、回答者の予想した数字が1234であれば、1が同じ場所にあり、3が違う場所にあるので、1H1Bと答えます。
予想した数字に対し、次のような回答が得られたとします。
1234⇒1H1B
5678⇒1B
6284⇒2H1B
9573⇒F
6240⇒2H1B
出題者の考えた数字はなんでしょうか?
答)
全て選択(Ctrl+A)すると答えを見ることができます。
答えは4280です。
マトリックスを作って考えてみれば分かります。
まず、9573がFなのでこれらの数字はひとつも含まれていません。
また、1234と5678をあわせて3つの数字が含まれているため、0は確実に含まれます。
●0
?1
?2
×3××××
?4
×5××××
?6
×7××××
?8
×9××××
6284に3つの数字が含まれているため、1は含まれていないことが分かります。
6240で3つの数字が含まれているので、8は確実に含まれています。この時点で、6は含まれていないことが分かります。
後は並び順です。
●0
×1××××
?2
?4
×6××××
●8
1234で1H1Bだったのが、6284で2H1Bに増えているため、8は3番目の数字であることが分かります。
●0 ×
●2 ×
●4 ×
●8××○×
6240で2H1Bとなっていますが、3番目の4は明らかにBなので、2と0は正しい位置にあることが分かります。
●0×××○
●2×○××
●4 ×××
●8××○×
答えは4280であることが分かりました。