hdu 1536
来源:互联网 发布:阿里云 音视频通话 编辑:程序博客网 时间:2024/04/29 20:16
/* hdu 1536 Sg 函数 */#include<stdio.h>#include<string.h>int Sg[10000+10],a[100];int k;int dfs(int x){ if(Sg[x]!=-1) return Sg[x]; bool vis[110]; memset(vis,0,sizeof(vis)); for(int i=0;i<k;i++) { if(x>=a[i]) { dfs(x-a[i]); vis[Sg[x-a[i]]]=1; } } int e; for(int i=0;;i++) if(!vis[i]) { e=i; break; } return Sg[x]=e;}int main(){ int n,m,x; while(scanf("%d",&k)!=EOF) { if(k==0) break; memset(Sg,-1,sizeof(Sg)); for(int i=0;i<k;i++) scanf("%d",&a[i]); scanf("%d",&m); while(m--) { int sum=0; scanf("%d",&n); while(n--) { scanf("%d",&x); sum^=dfs(x); } if(sum) printf("W"); else printf("L"); } printf("\n"); } return 0; }