题目:五子棋
五子棋是世界智力运动会竞技项目之一,是一种两人对弈的纯策略型棋类游戏,是世界智力 运动会竞技项目之一,每人一次下一子,黑棋先下(为先手),白棋后下,黑白双方轮流交 替下子,不得在已经有棋子的地方落子。 获胜的判定:只要黑白方中任意一方的棋子有五子连在一起(即五子连珠),可以为横连、 纵连、斜连,则该方获胜,游戏结束。
PYB 和 YYX 喜欢互相切磋五子棋,这一天,趁着 HD 在讲台上生机勃勃地讲着分块,PYB 和 YYX 在后排正大光明地玩着五子棋,YYX 慷慨地让 PYB 执黑棋(先下子),请屏幕前的你判 断谁赢。
输入
第一行,一个整数 n,表示棋盘的大小为 n*n。 第二行,一个整数 m,表示 PYB 和 YYX 下了 m 个棋子.. 接下来 m 行, 每行两个正整数 i,j,依次表示每个棋子落子在第 i 行第 j 列
输出
如果 YYX 赢了,输出“YYX wins!” 如果 PYB 赢了,输出“PYB wins!” 如果棋子下完后,仍没有任何一方赢,输出“Draw!” 如果出现了不合法的落子,输出“Wrong!” 任意一方赢后,忽略之后的棋子.
样例
样例输入
5
10
3 1
1 1
3 2
2 2
3 3
4 4
3 4
5 5
3 5
6 6
样例输出
PYB wins!
提示
1<=n<=100,1<=m<=2000
共 2 条回复
我的答辩代码居然得了60分→←
dfs 暴力搜索应该可以过