Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
code3:RE 反正只是枚举,我随便交换点数都不行么?!!!In Reply To: 这神奇的机制,我也是醉了。下附三份代码,请君感受神奇的RE判定 Posted by:fzfzfz at 2015-01-12 11:47:39 #include <cstdio> #include <cstring> #include <iostream> #include <algorithm> #define N 305 #define M 30100 using namespace std; int S,s[N*100]; int sg[M]; int SG(int x) { int i; if(sg[x]+1)return sg[x]; bool vis[M<<1]={0}; for(i=1;i<=S;i++)if(s[i]<=x)vis[SG(x-s[i])]=true; for(i=0;vis[i];i++); return sg[x]=i; } int n,m; int main() { // freopen("test.in","r",stdin); int i,j,k,g; while(scanf("%d",&S),S)// 数据组数A { for(i=1;i<=S;i++)scanf("%d",&s[i]); int x,y; for(j=1;j<=100;++j){ x=rand()%S+1,y=rand()%S+1;swap(s[x],s[y]); } // s : 每次可以取的石子数量集合 memset(sg,-1,sizeof(sg)),sg[0]=0; for(scanf("%d",&g);g--;) // 数据组数B { for(k=0,scanf("%d",&n);n--;) // n堆石子 { scanf("%d",&m); // 该堆石子的个数 k^=SG(m); } if(k)putchar('W'); else putchar('L'); } puts(""); } return 0; } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator