BZOJ 4131 并行博弈

Posted on 2016-12-09 08:20  ziliuziliu  阅读(311)  评论(0编辑  收藏  举报

发现必胜态只和(1,1)的状态有关。

无法得知必胜的方法,只知道谁会必胜。

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int t,k,n,m,x,flag=0;
void work()
{
    scanf("%d",&k);flag=0;
    for (int i=1;i<=k;i++)
    {
          scanf("%d%d",&n,&m);
         for (int j=1;j<=n;j++)
              for (int k=1;k<=m;k++)
             {
                 scanf("%d",&x);
                 if (j==1 && k==1)
                 {
                     if (x) flag^=1;
                    else flag^=0; 
                 }
            }
    }
    if (flag) printf("lyp win\n");
    else printf("ld win\n");
}
int main()
{
    scanf("%d",&t);
    for (int i=1;i<=t;i++)
        work();
    return 0;
}