HDU1847 Good Luck in CET4 Everybody! 简单博弈

思路

简单博弈题,可是我没写出来。

这也算是这周周赛的签到题,基本上所有人都做出来了,但是我没做出来,这题可以去手动模拟一下,比赛结束后看了一下解析,自己考虑的复杂了并且乱,做题目需要有一个全局观念,而且要会找规律啊。

当给对手留下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;
}
原文地址:https://www.cnblogs.com/OFSHK/p/12650085.html