#ys006. 三子棋
三子棋
小欧和小艾克斯使用一个 格的棋盘进行游戏。游戏从小欧的回合开始,按照以下规则进行:
- 小欧选择一个未被标记的格子,填入字符
o。 - 小艾克斯选择一个未被标记的格子,填入字符
x。 - 重复步骤 1 和 2,直到所有格子都被标记。
当所有格子都被标记后,若存在三个连续的字符 o,则小欧获胜;否则小艾克斯获胜。
游戏已经进行到中途,当前棋盘状态用一个长为 的字符串 表示。接下来轮到小欧行动。假设双方都采取最优策略,请判断谁会最终获胜。
由 o、x、- 三种字符构成。o,x 表示对应的格子里已经被填入字符,- 表示对应的格子里尚未被标记。
一个输入文件里有 组测试数据。
限制
- 是一个长为 的字符串,由
o、x、-三种字符构成。 - 里
o和x的数量相同,保证接下来轮到小欧行动。
本题有 10 个测试点。有 2 个测试点满足 且 。另有 4 个测试点满足 。
输入
从文件 game.in 中读入数据。
第一行包含一个整数 。接下来有 行,每行表示一组测试,包含一个整数 和一个字符串 。
输出
输出到文件 game.out 中。
输出 行。第 行应包含一个字符,表示第 组测试的答案。若小欧最终获胜,输出大写字母 O,否则输出大写字母 X。
样例输入 1
7
10 xxoo--xxoo
10 oo-ooxxxx-
10 ooxxo--oxx
10 xooo--xx--
6 oooxxx
6 oxoxox
1 -
样例输出 1
O
O
X
O
O
X
X
第一组测试,面对局面 xxoo--xxoo,小欧只要在左边那个空格里填入 o 即可获胜,最终局面是 xxoooxxxoo。
第二组测试,小欧在左边那个空格里填入 o 即可获胜,最终局面是 oooooxxxxx。有 5 个连续的 o,小欧的胜利条件已经达成。
相关
在下列比赛中: