マトリックスがあり、このマトリックス内のパターンを見つける必要があります。マトリックスは次のとおりです。
1 0 0 1 1 1 0 0 0 1
0 0 0 1 1 0 1 0 0 1
0 1 1 1 0 0 0 1 0 1
1 0 1 0 0 1 1 0 1 0
1 1 1 0 0 0 1 1 0 1
0 1 0 0 1 1 0 1 0 1
1 1 1 0 0 0 1 0 0 1
1 0 0 1 0 1 1 1 0 1
ルール:
- すべての行から 1 つの数字を選択します。
- 2 番目の行から次に選択される番号は、先例の反対でなければなりません。
- ルール 1 とルール 2 によって選択される数字の位置は、正確なパターンでなければなりません。
したがって、質問は次のようになります。
3 つのルールを尊重する最適なパターンを見つけます。示されているマトリックスの例:
- 選択された数値: 0(2) //"()" の内容は、値の位置を表します。位置は、行の 1 から 10 まで始まります。
- 1(4)
- 位置 2 と 4 をパターンにするためには、マトリックスの残りの部分でルール 1 と 2 をサポートする必要があります。
そのため、さらに 3 行目に進み、2 番目の位置を確認します:1. 4 行目に移動し、4 番目の位置を確認します:0。ルールを守っているようです。2 番目と 4 番目の位置には反対の番号があるので、5 行目、2 番目の位置: などと続けますが、7 行目には 2 番目の位置:1 と 8 行目の 4 番目の位置:1 が表示されます。そのため、位置 2 ~ 4 のパターンは良くありません。
これらのルールに基づいてアルゴリズムを作成するにはどうすればよいですか?