题目描述
kiki和bob在玩一个游戏,他们收集了一些石子,约定两人轮流从这些石子中取出一部分,但是每次只能取1、2或3颗石子,kiki和bob都非常聪明,他们总是按照最有利于自己的方式进行游戏,请你预测最后谁会赢得游戏,如果先手胜利输出kiki,否则输出bob。
输入
输入一个整数n(1≤n≤109)代表一共有多少颗石子。
输出
如果先手胜利输出kiki,否则输出bob。
样例输入 Copy
10
样例输出 Copy
kiki
源代码
#include <iostream>
using namespace std;
int main()
{
long long num;
cin>>num;
if(num%4==0)cout<<"bob"<<endl;
else cout<<"kiki"<<endl;
return 0;
}
思路
因为kiki先手,所以无论当最后剩余的石子数量为4时,后手赢,
因此二人总想将石子的剩余数目改变为4,谁先将石子数目改变为4谁就赢
因为无论下一个人取多少个石子他都会赢
所以当kiki先手时,若是kiki取完剩余4个则bob赢,反之kiki赢