#P2706. Connect
Connect
本题没有可用的提交语言。
描述
|
|
|
|
你的任务是判断棋盘游戏Twixt中指定的移动序列是否以获胜移动结束。
在这个版本的游戏中,可以指定不同的棋盘大小。棋子被放置在棋盘上坐标为范围内的整数位置。玩家黑方和白方使用各自颜色的棋子。黑方总是先手,然后与白方交替进行,每次在一个未被占据的位置放置一个棋子。黑方的目标区域是等于或的位置,白方的目标区域是等于或的位置。任何玩家都不能在对方的目标区域放置棋子。每次移动后,最新放置的棋子会通过一条线段与所有同色棋子相连,这些同色棋子必须满足国际象棋中“马步”的距离(即一个坐标相差,另一个坐标相差),并且新线段不能与已添加的线段相交(端点接触除外)。当一方的线段在其目标区域之间形成一条完整的连通路径时,游戏结束,该玩家获胜。
例如,图1展示了的棋盘,经过移动、和后的状态。图2添加了下一步移动。图3a展示了黑方下一步的较差选择。图3b展示了黑方的另一种选择,这一步将赢得游戏。
图4展示了的棋盘,黑方在11步后获胜:
、、、、、、、、、、。
输入
输入包含到个数据集,最后一行是两个零“”。每个数据集的第一行包含最大坐标和总移动次数,其中,,且为奇数。数据集的其余部分包含个坐标对,每行一个或多个对。一行中的所有数字用空格分隔。为奇数意味着黑方总是最后一步的玩家。所有数据都是合法的,且不会在最后一步之前出现获胜移动。
输出
对于每个数据集,输出一行:“yes”表示最后一步是获胜移动,“no”表示不是。
输入数据 1
4 5
0 2 2 4 4 2 3 2 2 3
4 5
0 2 2 4 4 2 3 2 2 1
7 11
0 3 6 5 3 2 5 7 7 2 4 4
5 3 5 2 4 5 4 0 2 4
0 0
输出数据 1
no
yes
yes
来源
2005年美国中西部地区竞赛