2018年全国多校算法寒假训练营练习比赛(第三场)_C
题目描述
小牛和小客玩石子游戏,他们用n个石子围成一圈,
小牛和小客分别从其中取石子,谁先取完谁胜,
每次可以从一圈中取一个或者相邻两个,每次都是小牛先取,
请输出胜利者的名字(小牛获胜输出XiaoNiu,小客获胜输出XiaoKe)
(1 2 3 4 取走2后,1、3不算相邻)
输入描述:
输入包括多组测试数据每组测试数据一个n(1≤n≤1e9)
输出描述:
每组用一行输出胜利者的名字(小牛获胜输出XiaoNiu,小客获胜输出XiaoKe)
示例1
输入
2
3
输出
XiaoNiu
XiaoKe
解题思路
博弈大多是先手必胜或者后手必胜的
n>2时后手必胜
AC代码
#include<iostream>
using namespace std;
int main() {
long long int n;
while (cin >> n) {
if (n <= 2) {
cout << "XiaoNiu\n";
}
else
cout << "XiaoKe\n";
}
return 0;
}