Connect 4のゲームをプレイするプログラムを作成します。ボードの状態が入力として与えられ、4列(水平、垂直、または斜め)を取得するか、対戦相手が同じことをできないようにするために、ピースを配置する列を決定する必要があります。
ボードは6x7アレイで、各セルは空( '')で、ピース( 'X')または対戦相手のピース( 'O')が含まれます。サンプルボード:
O
XX X
XOX OO
XOO OXO
OXXOXXO
XOXOXOX
対角線で勝つために、列3(列は0から6で、左から番号が付けられています)でプレーします。あなたは出力します:
3
コードは列番号を出力する必要があり、次の条件を満たす必要があります。
- すでに6個の駒がある列ではプレイできません。
- 少なくとも1つの勝利の動きがある場合、それらの1つをプレイする必要があります。
- 相手が次の動きで勝つことを防ぐことができるなら、そうしなければなりません。
最適なプレイは必要ないことに注意してください。ただちに勝利するか、対戦相手の即時勝利を妨げます。対戦相手に複数の勝ち方がある場合、それらをブロックする必要はありません。
標準入力でボードが提供され、標準出力で再生する列番号を印刷する必要があります。ボードは正しい形式(ホールなし、少なくとも1つの可能な動き)であることが保証されており、どちらのプレイヤーもまだ勝てないことが保証されています。
最短のコードが優先されます。
例1
X
O
X
O
OOO X
XXX O
勝つためには、列0または4をプレイする必要があります。
例2
X
X X
O O
XOX XO
XXO XOX
XXO XXO
対戦相手の即時勝利をブロックするには、列3をプレイする必要があります。
例3
X
XO
OX O
XO XX
XXO OOO
OOO XXO
対戦相手に勝つことも、勝つことを止めることもできないため、1〜6列目をプレイできます(0は満杯です)。
例4
X
O
X
OOO
XOX
OXOX
列3でプレイすることはできません。対戦相手がすぐに勝つことができるからです。列1-2または4-6でプレーできます。