hdu 1847 Good Luck in CET-4 Everybody! 博弈论

方法一:找规律,很容易知道

1 #include<stdio.h>
2 int main(){
3     int n;
4     while(scanf("%d",&n)!=EOF){
5         puts(n%3==0?"Cici":"Kiki");
6     }
7     return 0;
8 }
View Code


方法二:简单的sg函数应用

代码如下:

 1 #include<iostream>
 2 #include<stdio.h>
 3 #include<algorithm>
 4 #include<iomanip>
 5 #include<cmath>
 6 #include<cstring>
 7 #include<vector>
 8 #define ll __int64
 9 #define pi acos(-1.0)
10 #define MAX 50000
11 using namespace std;
12 int sg[1001],n,t;
13 int main(){
14     memset(sg,0,sizeof(sg));
15     sg[0]=0;
16     for(int i=0;i<=1000;i++)
17     if(!sg[i]){
18         for(int j=0;j<=10&&(t=i+(1<<j))<=1000;j++){
19             sg[t]=1;
20         }
21     }
22     while(cin>>n){
23         puts(sg[n]==0?"Cici":"Kiki");
24     }
25     return 0;
26 }
View Code
原文地址:https://www.cnblogs.com/xin-hua/p/3254041.html