3

私はかなり長い間この問題に固執しています。これは基本的にリバース エンジニアリングの牛と牛のゲームです。ここで詳細をお読みください: http://rosettacode.org/wiki/Bulls_and_cows 以下に示す問題のロジックを開発できません。解決方法を考えられる場合は、同じようにコメントしてください。

問題文:

手がかり語 (ABCD/DBCA などの形式) がほとんどなく、各単語の牛と雄牛の数が与えられた場合、プログラムは、与えられた手がかり語を評価して実際の単語を計算し、出力の秘密の単語を生成できる必要があります。

テストケース:

入力: 4
DBCC 0 2
CDAB 2 1
CAAD 1 2
CDDA 2 0

出力:BDAA

4

2 に答える 2

3

アイデアは、可能なソリューションのスペースを減らすことです。始める前に、すべての 4^4 の組み合わせが可能です。最初の手がかり [DBCC 0 2 ] を読んだ後、いくつかの可能な解決策を排除できます。この特定の例では、最初の場所に D があるすべての州、2 番目の場所に B があるすべての州などを排除できます。の上。現在の手がかりに「適合」しない可能性のあるすべてのソリューションを排除するだけです。

解決策が 1 つだけになるまで、手がかりごとにこれを行います。もちろん、もう 1 つの興味深い問題は、適切な手がかりパターンを生成する方法です。

于 2012-07-21T17:49:01.817 に答える