問題一覧 > 通常問題

No.1016 三目並べ

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 153
作問者 : maspy / テスター : beet
15 ProblemId : 4015 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2022-04-25 10:43:05

問題文

OO さんと XX さんは、1×N1\times N のマス目を使ってゲームをしています。 ゲームは OO さんの手番から始まり、次のように進行します。

  1. OO さんは、未だ記号の書き込まれていないマスをひとつ選び、記号「o」を書き込む。
  2. XX さんは、未だ記号の書き込まれていないマスをひとつ選び、記号「x」を書き込む。
  3. 全てのマスに記号が書き込まれるまで、1, 2を繰り返す。
全てのマスに記号が書き込まれたあと、33 マス続けて記号「o」が書き込まれた場所が存在すれば OO さんの勝ち。 そうでなければ XX さんの勝ちとします。

このゲームが途中まで進行しており、途中経過の盤面が文字列 SS で与えられます。 次は OO さんの手番です。 両者が最善を尽くすとき、どちらが勝つかを判定してください。

TT 件の盤面が与えられるので、それぞれについて判定してください。

入力

TT
N1 S1N_1 \ S_1
N2 S2N_2 \ S_2
\vdots
NT STN_T \ S_T
  • TT は正の整数で、1T1001\leqq T\leqq 100 を満たす。
  • NiN_i は正の整数で、1Ni10001\leqq N_i\leqq 1000 を満たす。
  • SiS_i は長さ NiN_i の文字列で、文字 o, x, - からなる。 o, x はこれまでにそのマスに書き込まれた記号を表しており、- はそのマスに未だ記号が書き込まれていないことを表している。
  • SiS_i は同数の o, x を含む(したがって次は OO さんの手番である)ことが保証される。

出力

ii 行目に、盤面 SiS_i の場合の勝者の名前(O または X)を出力してください。
最後に改行してください。

サンプル

サンプル1
入力
7
10 xxoo--xxoo
10 oo-ooxxxx-
10 ooxxo--oxx
10 xooo--xx--
6 oooxxx
6 oxoxox
1 -
出力
O
O
X
O
O
X
X

11 つめの盤面 xxoo--xxoo において、OO さんが左側の空マスに o を書き込むと、 ゲーム終了時にはマス目が xxoooxxxoo となり、OO さんの勝利条件が満たされています。

22 つめの盤面の場合には、OO さんが左側の空マスに o を書き込むと、 ゲーム終了時にはマス目が oooooxxxxx となります。o55 マス続けて並びますが、この場合にも OO さんの勝利条件は満たされています。

提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。