HDU 1847 Good Luck in CET-4 Everybody!(博弈sg函数)

来源:互联网 发布:数据库系统概念第六版 编辑:程序博客网 时间:2024/06/06 00:59
#include<iostream>#include<cstring>using namespace std;const int maxn=1000+5;int Hash[maxn];int sg[maxn],f[maxn];int g[15]={1,2,4,8,16,32,64,128,256,512,1024};void cal_sg(){    memset(sg,0,sizeof(sg));    for(int i=1;i<=1000;i++)    {        memset(Hash,0,sizeof(Hash));        for(int j=0;j<=10&&i>=g[j];j++)            Hash[sg[i-g[j]]]=1;        for(int j=0;j<=1000;j++){            if(Hash[j]==0){                sg[i]=j;                break;            }        }    }}int main(){    cal_sg();    int n;    while(cin>>n)    {        if(sg[n]) cout<<"Kiki"<<endl;        else cout<<"Cici"<<endl;    }    return 0;}

0 0