本文主要是介绍左右互博。,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
链接:登录—专业IT笔试面试备考平台_牛客网
来源:牛客网
讨厌鬼在和小甜妹在玩石头游戏。
游戏一开始有 nnn 堆石子,第 iii 堆石子,有 aia_iai 个石子。两人轮流进行游戏。
轮到某个人时,这个人先选数量为 x(x>1)x(x>1)x(x>1) 的一堆石子,然后选择一个整数 y(2≤y≤x)y(2 \leq y \leq x)y(2≤y≤x),将选择的 xxx 个石子分为两堆石子,数量分别为 ⌊xy⌋\lfloor \frac{x}{y} \rfloor⌊yx⌋ 和 x−⌊xy⌋x-\lfloor \frac{x}{y} \rfloorx−⌊yx⌋。
当有某个人不能操作时,则失败,另一个人胜利。
两人都绝顶聪明,必定使用最佳策略。讨厌鬼先手,他想知道他能不能获得胜利?
⌊x⌋\lfloor x \rfloor⌊x⌋ 表示 xxx 向下取整。对于非负实数来说,可以理解为抹去小数点及小数部分。
例如 ⌊1.5⌋=1,⌊2⌋=2\lfloor 1.5 \rfloor =1, \lfloor 2 \rfloor =2⌊1.5⌋=1,⌊2⌋=2。
输入描述:
第一行输入一个整数 nnn。
第二行输入 nnn 个整数 aia_iai。
1≤n,ai≤2×1051\leq n ,a_i\leq 2 \times 10^51≤n,ai≤2×105
输出描述:
如果讨厌鬼获胜,则输出 "gui"。 如果小甜妹获胜,则输出 "sweet"。
示例1
输入
复制1 2
1 2
输出
复制gui
gui
示例2
输入
复制2 2 2
2 2 2
输出
复制sweet
sweet
#include<bits/stdc++.h>
using namespace std;
int main(){long long int n,x,a=0;//a到后面会很大cin>>n;while(n--){cin>>x;if(x>1){x-=1;a+=x;}//一个数x可以分的次数就是自身-1}//x数据范围可以为1,而题目要求大于1if(a%2==1)cout<<"gui";//a就是总共可以分的次数,else cout<<"sweet";return 0;
}
这篇关于左右互博。的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!