首页 > 代码库 > UESTC 1712 七夜雪寂,一世人心
UESTC 1712 七夜雪寂,一世人心
题意:变形的nim游戏,多堆石子,每次只能拿走S集合中的数
题解:简单SG函数,一开始写错了。。。
#include <bits/stdc++.h>#define maxn 10010using namespace std;int sg[maxn], k, s[maxn], dir[maxn];void getsg(int t){ for(int i=0;i<k;i++){ if(t>=s[i]){ dir[sg[t-s[i]]] = 1; } } int i = 0; while(1){ if(dir[i] == 0){ sg[t] = i; break; } i++; }}int main(){ int m, n, a; cin>>k; for(int i=0;i<k;i++) cin>>s[i]; memset(sg, -1, sizeof(sg)); sg[0] = 0; for(int i=0;i<=12;i++) { memset(dir, 0, sizeof(dir)); getsg(i); } cin>>m; while(m--){ cin>>n; int ans = 0; for(int i=0;i<n;i++) cin>>a,ans ^= sg[a]; printf("%s\n", (ans == 0)?"lose!":"win!"); //cout<<ans<<endl; } return 0;}
UESTC 1712 七夜雪寂,一世人心
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。