hdu1536 S-Nim(博弈)
2012-04-04 14:53
411 查看
SG函数的应用
加上^.
加上^.
#include<cstdio> #include<algorithm> #include<cstring> #define N 10003 using namespace std; int sg ; int s[103],h[103]; int main() { int n,m,i,j; //freopen("1.txt","w",stdout); while(scanf("%d",&n)&&n) { for(i=0;i<n;i++) scanf("%d",&s[i]); sg[0]=0; sort(s,s+n); for(j=1;j<N;j++) { memset(h,0,sizeof(h)); for(i=0;i<n;i++) { if(j-s[i]>=0) h[sg[j-s[i]]]=1; } for(i=0;i<102;i++) { if(h[i]==0) { sg[j]=i; break; } } } //过了 /* for(j=1;j<N;j++) for(i=0;i<n;i++) { if(j>=s[i]&&!sg[j-s[i]]){sg[j]=s[i];break;} else sg[j]=0; }*/ //动规没过,自己测数据都过,不知道OJ为何不过 int sum,k,mm; scanf("%d",&mm); for(i=0;i<mm;i++) { sum=0; scanf("%d",&m); for(j=0;j<m;j++) { scanf("%d",&k); sum^=sg[k]; } if(sum) printf("W"); else printf("L"); } printf("\n"); } return 0; }
相关文章推荐
- hdu1536 & 1944 S-NIM 博弈 SG函数
- hdu 1536 | hdu 1944 - S-Nim(博弈-SG)
- HDU 1536(sg博弈) S-Nim
- hdu1536 S-Nim(博弈)
- HDU(1536)S-Nim (博弈)
- poj 2960,hdu 1536 S-NIM 博弈
- HDU 1536 S-Nim [SG函数]【博弈】
- HDU 1536 S-Nim (博弈 sg函数 Nim和)
- HDU 1536 S-Nim 博弈,SG函数
- hdu 1536 S-Nim (博弈)
- hdu 1536、hdu 1944 S-Nim(博弈SG函数)
- [ACM] hdu 1536 S-Nim(Nim组合博弈 SG函数打表)
- [ACM] hdu 1536 S-Nim(Nim组合博弈 SG函数打表)
- hdu 1536 NIM博弈 (模板)
- HDU 1536 S-Nim(SG经典博弈)
- [ACM] hdu 1536 S-Nim(Nim组合博弈 SG函数打表)
- HDU 1536 && HDU 1944 S-Nim (Nim博弈、SG函数模板)
- hdu 1536/ hdu 1944 S-Nim(sg函数)
- HDU 4994 Revenge of Nim(博弈)
- hdu 1536 &&hdu1944 S-Nim (sg函数打表)