#include<bits/stdc++.h>
using namespace std;
int n;
int a[11],s[1005];
int sg(int x){
int t;
int vis[1005];
memset(vis,0,sizeof vis);
for(int i=0;a[i]<=x;i++){
t=x-a[i];
if(s[t]==-1) s[t]=sg(t);
vis[s[t]]=1;
}
for(int i=0;;i++){
if(!vis[i]) return i;
}
}
int main()
{
memset(s,-1,sizeof(s));
for(int i=0;i<11;i++){
a[i]=pow(2,i);
}
while(scanf("%d",&n)!=EOF){
if(sg(n)==0) printf("Cici\n");
else printf("Kiki\n");
}
return 0;
}
hdu1847sg函数
![](https://img-home.csdnimg.cn/images/20240711042549.png)