您的位置:首页 > 其它

【HDU】1536 S-Nim

2015-02-06 22:06 267 查看
http://acm.hdu.edu.cn/showproblem.php?pid=1536

题意:同nim...多堆多询问...单堆n<=10000,每次取的是给定集合的数= =

#include <cstdio>
#include <cstring>
using namespace std;
bool b[105];
int s[105], f[10005];
int main() {
int k, m, n;
while(scanf("%d", &k), k) {
for(int i=0; i<k; ++i) scanf("%d", &s[i]);
for(int i=1; i<=10000; ++i) {
memset(b, 0, sizeof b);
for(int j=0; j<k; ++j) if(i>=s[j]) b[f[i-s[j]]]=1;
for(int j=0; j<=k+1; ++j) if(!b[j]) { f[i]=j; break; }
}
scanf("%d", &m);
for(int kk=0; kk<m; ++kk) {
scanf("%d", &n); int ans=0, t;
for(int i=0; i<n; ++i) { scanf("%d", &t); ans^=f[t]; }
ans?putchar('W'):putchar('L');
}
puts("");
}
return 0;
}


  

这样刷水好无聊....

同sg..
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: