80年代から90年代にかけての英国(70年代もそうだと思います!)には、「ブロックバスター」と呼ばれる古典的なテレビ番組がありました。
(出典:ukgameshows.com)
ご覧のとおり、5列の文字と4行があります。1人またはチームが水平方向に移動しようとしています。1人は垂直方向に移動しようとしています。あなたは質問に答えることによって六角形に勝ちます、そして答えはその六角形に表示された文字で始まります。
勝った人またはチームが最初に「ラインを接続」します-それはそれ自体に戻る可能性があることに注意してください(たとえば、その六角形を勝ち取った相手チームによってブロックされた場合)、多くの可能な勝ちの組み合わせがあります。
数年前、コーディングを始めたばかりのとき、このパズルに基づいて会議ゲームを作成しました(著作権侵害を避けるために八角形と正方形を交互に作成しました!)が、私がいつも苦労したのは、完全な行がいつになるかをチェックするアルゴリズムでした作られた。簡単なものでも大丈夫ですが、上下左右に行き詰まってしまいました!
私は基本的に、すべての不測の事態を捕らえることができなかった大規模なブルートフォースループをコーディングすることになりました。したがって、ロジックが勝者を検出しなかった場合に勝者をすばやく宣言できるように、会議の主催者の画面にボタンを配置する必要がありました。汚いハックについて話してください...
今、私が解決しなければならなかったこのパズルを振り返ると、そこにいる誰かがもっとエレガントな解決策を提案したいと思うだろうか?もちろん言語に依存しません(すべて、喜んで受け入れられる擬似コードを含みます)。
編集データを好きなように保存するのは問題ありません。アレイに貼り付けました。