(問題 11) ログ反映(勝敗判定・違反は敗北) Bash(Beta)編(paizaランク D 相当)
問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!
問題
下記の問題をプログラミングしてみよう!
(はじめに)
ログを順に反映しつつ、途中で勝敗が決着したら勝者を出力して中断します。
また、ログがルールを守っていない場合は、その時点でルール違反した側を負けとして、勝者を出力して中断します。
(問題)
すべての要素が
- である 3 × 3 の盤面があります。N 個のログが与えられるので、
先手
o、後手
x の順に、それぞれのログを先頭から順に反映させてください。
各手の後に勝敗が決まった場合は、その時点で勝者(
o または
x)を 1 行で出力して処理を中断してください。
ログがルールを守っていない場合には、その時点でルール違反した側を負けとし、勝者(相手側)を 1 行で出力して処理を中断してください。
最後まで勝敗もルール違反もなければ、最終盤面を出力してください。
- 入力される値
-
入力は以下のフォーマットで与えられます。
N
I_1 J_1
I_2 J_2
...
I_N J_N
1 行目には整数 N が与えられます。続く N 行のうち、k 行目 (1 ≦ k ≦ N) には整数 I_k, J_k が与えられます。
I_k は行番号、J_k は列番号を表します。
入力は合計で N+1 行からなり、入力値最終行の末尾に改行が 1 つ入ります。
入力値最終行の末尾に改行が1つ入ります。
文字列は標準入力から渡されます。
標準入力からの値取得方法はこちらをご確認ください
- 期待する出力
途中で勝敗が決まるかルール違反が発生した場合は、勝者(o または x)を 1 行で出力してください。
最後まで勝敗もルール違反もなければ、3 行で最終盤面を出力してください。
- 条件
-
すべてのテストケースにおいて、以下の条件をみたします。
- 0 ≦ N ≦ 9
- 1 ≦ I_k, J_k ≦ 3
問題一覧へ戻る