北海Dには、暗号を解かないと先に進めないところがあるそうな。
なんでも3桁の数字をヒントを元に解読するらしい σ( ・´_`・ )。oO(悩)
わたしはまだ行けないので実際にやったことはないんだけど、ファンサイトの中に暗号解読に挑戦できるサイトがあるので、やってみたんだけど・・・数字次第で結構時間がかかるりますねぇ^^;
慣れたら簡単かもしれないけどね。
暗号の前提として
・1〜9の数字を使用(0は無い)
・それぞれの桁の数字は重複しない(例:111や191等は無い)
というのがあり、ヒントは
0:その数字は1つも含まれない
2k:2箇所数字と位置があっている
1k:1箇所数字と位置があっている
3s:3つの数字は合っているが、位置が違う
2s:2つの数字はあっているが、位置が違う
1s:1つの数字はあっているが、位置が違う
の6パターンと、その組み合わせになります。
たとえば、暗号の答えが「659」の場合、345 と入力するとヒントは「1s」、645 だと「1k1s」といった感じになります。
この表示されたヒントを元に暗号を解読していくわけです。
さらに、この暗号解読には、
・各数字は4回まで使用可能
・解答回数は10回以内
という制限があるため、上手く数字を入力していかないと、解読する前に制限回数を超えてしまうと言うこともあるわけです。
そこで、できるだけ早く解読できないかとパターンを考えてみました。
3桁の数字をABCとした場合、当てはまる組み合わせを考えると
2k は AB* *BC A*C
1k は A** *B* **C
3s は BCA CAB
2s は BA* BC* CA* *AB *CB *CA B*A C*B C*A
1s は B** C** *A* *C* **A **B
と、なりますね。
あとは入力した数値をこのパターンに当てはめればいいんですが・・・
123〜987まで504個できちゃうので、如何に分かりやすい数字を入力するかが鍵ですね。
ここからは暗号解読を楽しみたい人は読まないでください。
何とかこの暗号を簡単に解読する方法は無いかと、考えてみたんですが思いつかないので、
ヒントに当てはまる数を絞込むスクリプトを適当に組んでみました。
適当に組んだので、エラー処理なんかぜんぜんやってなく、ありえないヒントの組み合わせでも動いちゃいますし、入力した数がリストに残っちゃう場合があったり、入力した数によっては正解がリストから消える場合もありますが、そこは入力履歴と照らし合わせて考えてみてください。
あくまで、次に入力したらいい数字の目安と思ってください。
わたしの入力パターンとしては・・・
1.123を入力
2.456を入力
3.789を入力
として、まずどの数字が含まれるかを絞り込んでから、次を考えるようにしています。
そうすると、大体5〜7ターン目には正解が導き出せる・・・はず^^;
|