HDU 1536 (博弈SG)

来源:互联网 发布:sql2000数据库无项目 编辑:程序博客网 时间:2024/05/16 15:37

直接套模板的水题.....

#include <iostream>#include <cstring>#include <cstdio>#include <algorithm>using namespace std;int k,fibo[100],f[10001];//k为取数规则的个数int mex1(int p){    int i,t;    bool g[101]= {0};    for(i=0; i<k; i++)         //注意  i从0开始,别动i    {        t=p-fibo[i];        if(t<0)            break;        if (f[t]==-1)            f[t]=mex1(t);        g[f[t]]=1;    }    for(i=0;; i++)               //好像必须从0开始啊    {        if (!g[i])            return i;    }}int main(){    int m,h,n;    while(scanf("%d",&k)!=-1&&k)    {        for(int i=0; i<k; i++)            scanf("%d",&fibo[i]);        sort(fibo,fibo+k);        memset(f,-1,sizeof(f));        f[0]=0;        for(int i=1; i<=10000; i++)            f[i]=mex1(i);        scanf("%d",&m);        while(m--)        {            int ans=0;            scanf("%d",&h);            while(h--)            {                scanf("%d",&n);                ans^=f[n];            }            printf(ans?"W":"L");        }        printf("\n");    }    return 0;}


原创粉丝点击