#arc0024. [arc002_4]ボードゲーム
[arc002_4]ボードゲーム
问题文
高桥在格斗游戏中输给朋友非常难过,所以这次他提议玩一个自己能赢的游戏。 游戏的规则是两个人面对面坐在由方格组成的棋盘上。图中的左边一列是○的领地,右边一列是×的领地。 使用随机摆放的○和×的棋子,两个人分别选择成为○或者×作为自己的棋子。
图:棋盘示例。红色列为○的领地,蓝色列为×的领地。
棋子只能向对方的领地前进一格,如果被对方踩到则从棋盘上移除。 棋子只能向前方移动,并且不能斜向、横向或者后退。 同时,不能踩到自己的棋子。
双方交替移动自己的棋子,直到将对方的棋子全部移除,或者在对方的领地放下自己的棋子即可获胜。 先手拥有带有○标记的棋子,但是在第一回合中无法取走×的初始摆放。 而且,在初始配置中还没有满足任何一方的胜利条件。
高桥一定要赢,所以他在犹豫是选择○还是×作为自己的棋子。 请判断高桥会赢的话,是选择○还是×。
输入
输入以以下格式从标准输入中提供。
- 第一行是两个整数(表示棋盘的高度,)和(表示棋盘的宽度,),以空格分隔。
- 第二行到第行,每行包含一个长度为的字符串,表示棋盘上的棋子布局。
- 第行的第个字符是
。
、o
、x
中的一个。 - 为
.
表示该位置没有棋子,o
表示该位置有一个○的棋子,x
表示该位置有一个×的棋子。
输出
如果○获胜,则输出o
,如果×获胜,则输出x
,并在最后输出一个换行符。
输入例子 1
3 10
..o.o.xxx.
...o.xo.x.
o.xxo..x..
输出例子 1
o
- 首先,○可以将第三行从左数第五个棋子往右移动。
- 轮到×了,但是不论左移哪个棋子,下一回合都会被○拿走。
- 就像之前的情况一样,不论下一步动哪个棋子,○都会拿走下一回合可以到达的棋子(只能移动到蓝色框内)。
- 也就是说,通过将第三行从左数第五个棋子向右移动,○获胜。
输入例子 2
3 5
..x..
.o...
...x.
输出例子 2
x
- 双方不会互相踩踏,○最少需要3步,×最多需要2步就可以到达对方的领地,所以×获胜。
来源名称
ARC 002