首页 > 代码库 > 【HDOJ】1760 A New Tetris Game

【HDOJ】1760 A New Tetris Game

博弈,主要是求SG值。终于做出点儿感觉。

 1 /* 1760 */ 2 #include <cstdio> 3 #include <cstring> 4 #include <cstdlib> 5  6 #define MAXN 55 7  8 char map[MAXN][MAXN]; 9 int n, m;10 11 int cal_SG() {12     int i, j, k, r, p;13     14     for (i=0; i<n-1; ++i) {15         for (j=0; j<m-1; ++j) {16             if (map[i][j]==0 && map[i][j+1]==0 && map[i+1][j]==0 && map[i+1][j+1]==0) {17                 map[i][j] = map[i][j+1] = map[i+1][j] = map[i+1][j+1] = 1;18                 k = cal_SG();19                 map[i][j] = map[i][j+1] = map[i+1][j] = map[i+1][j+1] = 0;20                 if (k == 0)21                     return 1;22             }23         }24     }25     return 0;26 }27 28 int main() {29     int i, j, k;30     31     #ifndef ONLINE_JUDGE32         freopen("data.in", "r", stdin);33     #endif34     35     while (scanf("%d %d", &n, &m) != EOF) {36         for (i=0; i<n; ++i)37             scanf("%s", map[i]);38         if (cal_SG() == 0)39             puts("No");40         else41             puts("Yes");42     }43     44     return 0;45 }

 

【HDOJ】1760 A New Tetris Game