标签:hdu1760 a new tetris game 博弈 搜索
4 4 0000 0000 0000 0000 4 4 0000 0010 0100 0000
Yes No
#include <stdio.h> #include <string.h> #define MAX 55 bool map[MAX][MAX] ; int n, m; bool judge(int i , int j) { if(i+1<n && j+1<m) { if(map[i][j] && map[i+1][j] && map[i][j+1] && map[i+1][j+1]) { return true ; } } return false ; } bool DFS() { for(int i = 0 ; i < n ; ++i) { for(int j = 0 ; j < m ; ++j) { if(judge(i,j)) { map[i][j] = map[i+1][j] = map[i][j+1] = map[i+1][j+1] = false ; if(!DFS()) { map[i][j] = map[i+1][j] = map[i][j+1] = map[i+1][j+1] = true ; return true ; } map[i][j] = map[i+1][j] = map[i][j+1] = map[i+1][j+1] = true ; } } } return false ; } int main() { while(~scanf("%d%d",&n,&m)) { char line[100] ; for(int i = 0 ; i < n ; ++i) { scanf("%s",line) ; for(int j = 0 ; j < m ; ++j) { if(line[j] == '0') map[i][j] = true ; else map[i][j] = false ; } } if(DFS()) puts("Yes") ; else puts("No") ; } return 0 ; }
hdu 1760 A New Tetris Game 博弈~~搜索求sg函数
标签:hdu1760 a new tetris game 博弈 搜索
原文地址:http://blog.csdn.net/lionel_d/article/details/44752273