Good Luck in CET-4 Everybody!(博弈)

大学英语四级考试就要来临了,你是不是在紧张的复习?也许紧张得连短学期的ACM都没工夫练习了,反正我知道的Kiki和Cici都是如此。当然,作为在考场浸润了十几载的当代大学生,Kiki和Cici更懂得考前的放松,所谓“张弛有道”就是这个意思。这不,Kiki和Cici在每天晚上休息之前都要玩一会儿扑克牌以放松神经。 
“升级”?“双扣”?“红五”?还是“斗地主”? 
当然都不是!那多俗啊~ 
作为计算机学院的学生,Kiki和Cici打牌的时候可没忘记专业,她们打牌的规则是这样的: 
1、  总共n张牌; 
2、  双方轮流抓牌; 
3、  每人每次抓牌的个数只能是2的幂次(即:1,2,4,8,16…) 
4、  抓完牌,胜负结果也出来了:最后抓完牌的人为胜者; 
假设Kiki和Cici都是足够聪明(其实不用假设,哪有不聪明的学生~),并且每次都是Kiki先抓牌,请问谁能赢呢? 
当然,打牌无论谁赢都问题不大,重要的是马上到来的CET-4能有好的状态。

Good luck in CET-4 everybody!

Input

输入数据包含多个测试用例,每个测试用例占一行,包含一个整数n(1<=n<=1000)。

Output

如果Kiki能赢的话,请输出“Kiki”,否则请输出“Cici”,每个实例的输出占一行。

Sample Input

1
3

Sample Output

Kiki
Cici

#include<stdio.h>

int main()
{
int n;
while(scanf("%d",&n)==1)
{
if(n%3==0)
printf("Cici\n");
else
printf("Kiki\n");
}
return 0;
}

				
时间: 2024-11-03 18:37:47

Good Luck in CET-4 Everybody!(博弈)的相关文章

HDU1847 Good Luck in CET-4 Everybody!【博弈】

题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1847 题目大意: 有N张牌,两个人轮流抓,每次抓的牌数只能是2的幂次(2^0.2^1.2^2.-).最后抓完牌的人获胜. Kiki和Cici都是足够聪明的学生,Kiki先抓,输出赢得比赛的人. 思路: 找必败点,很容易知道当N==3时是一个必败点,因为只能取1或是2,而剩下的牌肯定能被对手取完, 所以3是一个必败点.4能取1把场面变为3,所以4是必胜点,5能取2把场面变为3.而6的话,要么取 完剩

HDU 1847 Good Luck in CET-4 Everybody!(规律,博弈)

Good Luck in CET-4 Everybody! Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 9934    Accepted Submission(s): 6433 Problem Description 大学英语四级考试就要来临了,你是不是在紧张的复习?也许紧张得连短学期的ACM都没工夫练习了,反正我知道的Kiki和Ci

HDU2149-Good Luck in CET-4 Everybody!(博弈,打表找规律)

Good Luck in CET-4 Everybody! Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 4762    Accepted Submission(s): 3058 Problem Description 大学英语四级考试就要来临了,你是不是在紧张的复习?或许紧张得连短学期的ACM都没工夫练习了,反正我知道的Kiki和C

HDU 1847 Good Luck in CET-4 Everybody!(博弈、找规律)

Good Luck in CET-4 Everybody! Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 12425    Accepted Submission(s): 8058 Problem Description 大学英语四级考试就要来临了,你是不是在紧张的复习?也许紧张得连短学期的ACM都没工夫练习了,反正我知道的Kiki和C

HDU 1847 Good Luck in CET-4 Everybody! (巴什博弈)

题目链接:HDU 1847 Problem Description 大学英语四级考试就要来临了,你是不是在紧张的复习?也许紧张得连短学期的ACM都没工夫练习了,反正我知道的Kiki和Cici都是如此.当然,作为在考场浸润了十几载的当代大学生,Kiki和Cici更懂得考前的放松,所谓"张弛有道"就是这个意思.这不,Kiki和Cici在每天晚上休息之前都要玩一会儿扑克牌以放松神经. "升级"?"双扣"?"红五"?还是"斗

HDU 1847 (博弈 找规律) Good Luck in CET-4 Everybody!

多写几个就会发现3的倍数是必败点,担心可能有例外,我一直写到第15个.. 1 #include <cstdio> 2 3 int main() 4 { 5 int n; 6 while(scanf("%d", &n) == 1 && n) 7 printf("%s\n", n % 3 ? "Kiki" : "Cici"); 8 9 return 0; 10 } 代码君

HDU 1847 Good Luck in CET-4 Everybody! 四级好运!(博弈,简单)

思路:先用P/N状态来找规律. N状态:1 2 4 6 8 16 P状态:3 5 因为3=1+2, 无论拿1或者2皆输.看看5,只要抽掉2就变成了3,所以是N状态.看看6,可以抽掉1 2 4,若抽1,变5,则输:若抽2,变4,则输:若抽4,变2,则输.看看7,抽掉1变成6,那么是N状态.同理8也是.看看9,抽1变8输,抽2变7输,3又不能抽,抽4变5输,5 6 7又不能抽,抽8变1输. 这看起来好像有规律?1 2 4 5 7 8 都是赢.3 6 9都是输.貌似一种周期在里面,仔细看,最小的周期应

hdu1847Good Luck in CET-4 Everybody! 博弈

//可以找到必败点是3,对于任意数我们可以通过减去1或2得到3的倍数,而三的倍数 //不能一次取完 //在做的时候找到了必败点,但没想到三的倍数,所以只好苦逼的枚举所有的必胜和必败点 #include<iostream> #include<cstdio> #include<cstring> using namespace std ; const int maxn = 1010 ; int pos[maxn] ; int main() { memset(pos , 0 ,

hdu 1847 Good Luck in CET-4 Everybody! (简单博弈)

题意: n张牌,双方轮流抓取.每人每次抓取的牌数必须是2的幂次(1,2,4,8...). 最后抓完的人胜. 思路 : 考虑剩3张牌,后手胜. 考虑3的倍数.假设先抓者当轮抓2x 张,2x %3等于1或2.故先手不管怎么取,后手取1或2则可凑成3的倍数. 故若总牌数是3的倍数,先手败.否则先手胜. 代码: int n; int main(){ while(scanf("%d",&n)!=EOF){ if(n%3==0) puts("Cici"); else p