美文网首页
Gym - 100184A(博弈论)sg函数

Gym - 100184A(博弈论)sg函数

作者: 雨落八千里 | 来源:发表于2019-06-24 17:22 被阅读0次

    构造sg函数,每个数减2或减3;构造sg函数就是每个数都要减2和减3取mex数组中最小的数。

    sg[0]=0; sg[1]=0; sg[2]=mex(sg(2-2))=mex(sg(0))=mex(0)=1;
    sg[3]=mex(sg(3-3),sg(3-2))=mex(sg(0),sg(1))=mex(0)=1;
    sg[4]=mex(sg(4-3),sg(4-2))=mex(sg(1),sg(2))=mex(0,1)=2;
    sg[5]=mex(sg(5-3),sg(5-2))=mex(sg(2),sg(3))=mex(1)=0;
    
    #include<bits/stdc++.h>
    using namespace std;
    int sg[6];
    int n,x;
    int main( )
    {
          sg[0]=sg[1]=0;
          sg[2]=sg[3]=1;
          sg[4]=2;
          int ans=0;
          scanf("%d",&n);
          for(int i=1;i<=n;i++)
          {
                scanf("%d",&x);
                ans^=(sg[x%5]);
          }
          if(ans==0)
          {
                printf("Watson\n");
          }
          else
          {
                printf("Rybka\n");
          }
    
          return 0;
    }
    

    相关文章

      网友评论

          本文标题:Gym - 100184A(博弈论)sg函数

          本文链接:https://www.haomeiwen.com/subject/cgboqctx.html