直接套模板的水题.....
#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;
}