#include <iostream>
using namespace std;
//博弈就是找每步都让对方必败的点
//必败点0 3 6 9 12。。。,发现都是3的倍数,因为每两个必败点之间只有两个数,且这两个数都可以一步转化为必败点,所以n是三的倍数先手必败,否则必胜
int main()
{
int n;
while(cin>>n)
{
if(n%3)
cout<<"Kiki"<<endl;
else
cout<<"Cici"<<endl;
}
return 0;
}
using namespace std;
//博弈就是找每步都让对方必败的点
//必败点0 3 6 9 12。。。,发现都是3的倍数,因为每两个必败点之间只有两个数,且这两个数都可以一步转化为必败点,所以n是三的倍数先手必败,否则必胜
int main()
{
int n;
while(cin>>n)
{
if(n%3)
cout<<"Kiki"<<endl;
else
cout<<"Cici"<<endl;
}
return 0;
}
本文介绍了一个简单的博弈论游戏胜负判断算法。通过分析游戏特点,发现必败点规律,并利用这些规律来快速判断先手玩家是否能赢得比赛。具体实现为判断输入数字n是否为3的倍数,若为3的倍数则先手必败,否则必胜。
7874

被折叠的 条评论
为什么被折叠?



