标签:
Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
AC代码:
1 #include<iostream> 2 #include<math.h> 3 #include<algorithm> 4 #include<string> 5 using namespace std; 6 int a[105]; 7 int sg[10005]; 8 int k; 9 int mex(int x) 10 { 11 if(sg[x]!=-1) return sg[x]; 12 bool vis[105]; 13 memset(vis,0,sizeof(vis)); 14 for(int i=0;i<k;i++) 15 { 16 if(x-a[i]>=0) 17 { 18 mex(x-a[i]); 19 vis[sg[x-a[i]]]=true; 20 } 21 } 22 for(int i=0;i<105;i++) 23 if(!vis[i]) 24 return sg[x]=i; 25 } 26 int main() 27 { 28 while(cin>>k&&k) 29 { 30 string str=""; 31 memset(sg,-1,sizeof(sg)); 32 sg[0]=0; 33 for(int i=0;i<k;i++) 34 cin>>a[i]; 35 sort(a,a+k); 36 int m; 37 cin>>m; 38 for(;m>0;m--) 39 { 40 int ans=0; 41 int x,u; 42 cin>>x; 43 for(int i=0;i<x;i++) 44 { 45 cin>>u; 46 ans^=mex(u); 47 } 48 if(!ans) str+="L"; 49 else str+="W"; 50 } 51 cout<<str<<endl; 52 } 53 return 0; 54 }
标签:
原文地址:http://www.cnblogs.com/verlen11/p/4248374.html