思路
简单博弈题,可是我没写出来。
这也算是这周周赛的签到题,基本上所有人都做出来了,但是我没做出来,这题可以去手动模拟一下,比赛结束后看了一下解析,自己考虑的复杂了并且乱,做题目需要有一个全局观念,而且要会找规律啊。
当给对手留下3张牌(或是3的整数倍,由3张牌推到3的整数倍也成立)的时候,对手即面临平衡态势,无论他怎么抓都会输。假设这个数为a,当a不是3的倍数时,我们减去2的整数幂,把它变成3的倍数。
总结
学会去找到平衡态势点(给对手留下3张牌的时候)
AC代码
#include<stdio.h>
int main()
{
int n;
while(~scanf("%d",&n)&&n)
{
if(n%3==0)
printf("Cici\n");
else
printf("Kiki\n");
}
return 0;
}