码迷,mamicode.com
首页 > 其他好文 > 详细

UESTC 1712 七夜雪寂,一世人心

时间:2017-07-23 22:35:22      阅读:143      评论:0      收藏:0      [点我收藏+]

标签:style   color   oid   nbsp   clu   题意   while   nim游戏   int   

题意:变形的nim游戏,多堆石子,每次只能拿走S集合中的数

题解:简单SG函数,一开始写错了。。。

#include <bits/stdc++.h>
#define maxn 10010
using 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 七夜雪寂,一世人心

标签:style   color   oid   nbsp   clu   题意   while   nim游戏   int   

原文地址:http://www.cnblogs.com/Noevon/p/7226121.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!