この問題では、いろんな意味でAIを使用することを推奨します。
また、作問者はこの問題にACするコードをC++でしか書いていないので、Pythonなどの他の言語でもACできる保証はありません。
勝者が空マスを得るオセロで双方が最後の を最大化した時の値は?
・
・ は整数
・は B または W
・ は B と W と . からなる長さ の文字列
・与えられる局面には初期局面から到達可能
・与えられる盤面の空きマスの数は 以下
つの入力では 個のテストケースが与えられる。
入力は以下の形式で与えられる。
各テストケースは以下の形式で与えられる。
現在の手番を表す文字 が与えられる。 が B のとき黒番で、 が W のとき白番である。
続く 行に、盤面の状態を表す文字列 が改行区切りで与えられる。
オセロ盤の上から数えて 行目、左から数えて 列目にあたるマスを と呼ぶ。
マス には、 の 文字目が B のとき黒石が、 W のとき白石が置かれていて、 . のとき何も置かれていない。
行出力せよ。
行目には の局面から、黒プレイヤー、白プレイヤーのそれぞれが「終局時における を最大化するために最適な行動」を取り続けたとき(すなわち最善を尽くしたとき)の、終局時における を整数で出力せよ。
ただし、終局時に残っている空きマスには勝者の色の石が置かれ、勝者の色の石の数に加算される。
例えば黒61-白1で黒が勝った場合、2つの空きマスに黒石が置かれ、黒石の数は61ではなく63として扱われる。
ただし、各テストケースについて真の値との絶対誤差が 以下であれば正答と判定される。
5 B BBBBBB.W BBBBBBBW BWWWWBBW WWWBBBBW WWBBBBBW BWBBBBB. BBBB.... BBBB.... W BBBBBB.. BBBWW... BWWWWWW. WWWBWWWW WWBBWWWB WWWWWBWW ..W.WWWW BBBWWWWW B BBBBBBWW BBBBBWBW BWWWWBBW WWWBBBBW WWBBBBBW BWBBBBB. BBBB.... BBBB.... W BBBBBB.. BBBWW... BWWWWWW. WWWBWWWW WWBBWWWB WWWBWBWW ..WBWWWW BBBWWWWW W BBBBBBB. BBBBW... BBBBW... BBBWW.W. BBWBWW.. BBBWWWWB BBBWWWBB BBBBBBBB
-6 -24 2 -12 -54
つ目のテストケースについて、真の値は だが、 行目に出力された は絶対誤差が 以下なので正答と判定される。
2026/08/03 23:36 問題文のわかりにくい部分を修正
2026/08/05 12:34 問題文に重大な誤りがあったため修正
2026/08/06 03:10 問題文が嘘にならないように修正