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
            puts("Kiki");
    }
}
原文地址:https://www.cnblogs.com/fish7/p/4003500.html