• hdu 1524


        一道博弈sg的题,做完感觉到sg果然是博弈中的王道,感觉稀奇古怪的题往nim上靠,然后再分解,然后在异或就ok啦

    #include<iostream>
    #include<stdio.h>
    #include<string.h>
    using namespace std;
    int c[1001][1001];
    int sg[1001];
    int n_point;
    int getsg(int a)
    {
        if(sg[a]!=-1)
            return sg[a];
        int hand[100];
        memset(hand,0,sizeof(hand));
        int i;
        for(i=0;i<n_point;i++)
             if(c[a][i]==1)
                hand[getsg(i)]=1;
        for(i=0;;i++)
             if(!hand[i])
                 return sg[a]=i;
    }
    int main()
    {
        while(scanf("%d",&n_point)!=EOF)
        {
             int i,j;
             memset(c,0,sizeof(c));
             memset(sg,-1,sizeof(sg));
             for(i=0;i<n_point;i++)
             {
                 int n;
                 scanf("%d",&n);
                 if(n==0)
                     sg[i]=0;
                 for(j=0;j<n;j++)
                 {
                     int a;
                     scanf("%d",&a);
                     c[i][a]=1;
                 }
             }
             int n;
             while(scanf("%d",&n),n)
             {
                  int m;
                  int i;
                  for(i=0;i<n;i++)
                  {
                      int a;
                      scanf("%d",&a);
                      if(i==0)
                         m=getsg(a);
                      else
                         m^=getsg(a);
                  }
                  if(m==0)
                      printf("LOSE\n");
                  else
                      printf("WIN\n");
             }
        }
    }

  • 相关阅读:
    史上最强验证
    Yii2 return redirect()
    一次线上问题引发的思考
    一次前端体验优化
    RSA For PHP
    判断是否字符串是否是JSON
    过滤Xss
    Yii2 中日志的记录
    Yii2 中禁用csrf校验
    开始。
  • 原文地址:https://www.cnblogs.com/dchipnau/p/4985980.html
Copyright © 2020-2023  润新知