#include<bits/stdc++.h>
using namespace std;
int k,a[100],f[10001];
int sg(int x){
int i,t;
int vis[101];
memset(vis,0,sizeof(vis));
for(i=0;i<k;i++){
t=x-a[i];
if(t<0) break;
if(f[t]==-1) f[t]=sg(t);
vis[f[t]]=1;
}
for(i=0;;i++){
if(vis[i]==0) return i;
}
}
int main()
{
int n,i,m,t,s;
while(scanf("%d",&k)!=EOF){
if(k==0) break;
for(i=0;i<k;i++){
scanf("%d",&a[i]);
}
sort(a,a+k);
memset(f,-1,sizeof(f));
f[0]=0;
scanf("%d",&n);
while(n--){
scanf("%d",&m);
s=0;
while(m--){
scanf("%d",&t);
if(f[t]==-1) f[t]=sg(t);
s=s^f[t];
}
if(s==0) printf("L");
else printf("W");
}
printf("\n");
}
return 0;
}
hdu1536
最新推荐文章于 2021-08-04 15:34:32 发布
该博客展示了一段C++代码,用于解决数学问题。程序通过扫描输入的数字序列,找到缺失的未出现数字。它利用了位运算和哈希映射的概念,对于给定的测试用例,程序可以判断序列是否为‘L’(丢失数字存在)或‘W’(所有数字都在序列中)。这是一个涉及数组、排序、递归和位操作的算法实现。
摘要由CSDN通过智能技术生成