1 条题解

  • 0
    @ 2021-6-15 14:28:27

    C++ :

    #include <cstdio>
    #include <cstdlib>
    #include <memory.h>
    #include <algorithm>
    #include <string>
    #include <map>
    #include <set>
    #include <vector>
    #include <cmath>
    using namespace std;
    #define PI 3.14159265358979323846264338327950288
    int N, M, T;
    char mat[105][105];
    int list[205];
    #define lowbit(x) ((x) & -(x))
    int lg(int x) {
       return (x == 1 ? 0 : lg(x / 2) + 1);
    }
    int sg(int x, int y) {
       if (x == 0 || y == 0)
          return lg(lowbit(x + y + 1));
       return x + y;
    }
    int main() {
       int i, j;
       //freopen("game.in", "r", stdin);
       //freopen("game.out", "w", stdout);
       scanf("%d", &T);
       while (T --) {
          scanf("%d%d", &N, &M);
          for (i = 0; i < N; i ++)
    	 scanf("%s", mat[i]);
          memset(list, 0, sizeof(list));
          for (i = 0; i < N; i ++)
    	 for (j = 0; j < M; j ++)
    	    if (mat[i][j] == 'T')
    	       list[sg(i, j)] ^= 1;
          for (i = 0; i < N + M; i ++)
    	 if (list[i])
    	    break;
          if (i < N + M)
    	 printf("-_-\n");
          else
    	 printf("=_=\n");
       }
       return 0;
    }
    
    
    
    • 1

    信息

    ID
    997
    时间
    1000ms
    内存
    128MiB
    难度
    10
    标签
    递交数
    1
    已通过
    1
    上传者