poj 2960

来源:互联网 发布:统计学书籍 知乎 编辑:程序博客网 时间:2024/05/21 23:33
#include<stdio.h>#include<string.h>int n;int Sg[10005];int a[110];int f(int x){   if(Sg[x]!=-1) return Sg[x];   int e=0;   bool vis[110];   //写成全局的变量会出错    memset(vis,0,sizeof(vis));    for(int i=0;i<n;i++)   {      if(x-a[i]>=0)          {                  f(x-a[i]);        vis[Sg[x-a[i]]]=1;      }              }         for(int i=0;i<110;i++)    if(!vis[i])    {      e=i;      break;               }  return Sg[x]=e; }int main(){    int t,v,m,x;    while(scanf("%d",&n)!=EOF)    {      if(n==0)        break;      for(int i=0;i<n;i++)        scanf("%d",&a[i]);            scanf("%d",&t);      //SG[1]=0;           memset(Sg,-1,sizeof(Sg));       Sg[0]=0;      while(t--)      {        v=0;                 scanf("%d",&m);        while(m--)        {         scanf("%d",&x);         v^=f(x);                }        if(!v)         printf("L");        else         printf("W");       }      printf("\n");                                                       }    return 0;    }

原创粉丝点击