Hj经常和同学下五子棋,在同学面前那可是盘盘皆赢,所向披靡,战无不胜....(自夸地),有一天同学就说:你下棋这么厉害,那你编程厉害?我现在给你一道题目,你能编写出正确的程序?Hj坦然接受了。
题目是这样的:给你一局未下完的五子棋棋局,现在轮到白棋下,试问白棋能不能至多下两颗棋子就赢了?
五子棋规则:
(1)对局双方各执一色棋子。
(2)空棋盘开局。
(3)黑先、白后,交替下子,每次只能下一子。
(4)棋子下在棋盘的空白点上,棋子下定后,不得向其它点移动,不得从棋盘上拿掉或拿起另落别处。
(5)先手的第一枚棋子可下在棋盘任意方格上。
(6)轮流下子是双方的权利,但允许任何一方放弃下子权(即:PASS权)。
(7)先达到五子相连(横竖斜)的状态的一方是赢家,如果最后棋牌放满还没分胜负则是平局。
输入描述:
测试数据包含多组,每组首先是两个正整数n,m(0< n,m<=10),分别表示棋盘的行数和列数。接下来是n行m列的字符,其中‘1’表示白棋子,‘0’表示黑棋子,‘ ’表示没有棋子。保证输入棋局合法。
输出描述:
如果白棋方能至多下两颗棋子就赢了就输出“YES”,否则输出“NO”。