题意:
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");
}
}
手机扫一扫
移动阅读更方便
你可能感兴趣的文章