玩游戏
Description
zxy和wfy用几堆石子在做游戏。偶数堆石子排成一行,每堆都有正整数颗石子 a[i]a[i]a[i] 。游戏以谁手中的石子最多来决出胜负。石子的总数是奇数,所以没有平局。zxy和wfy轮流进行,wfy先开始。 每回合,玩家从一行的开始或结束处取走整堆石头。 这种情况一直持续到没有更多的石子堆为止,此时手中石子最多的玩家获胜。假设zxy和wfy都发挥出最佳水平,当zxy赢得比赛时输出“zxy” ,当wfy赢得比赛时输出“wfy”。
Input
有T组输入,每个输入后有一个nnn,在nnn后有nnn个数字,a1,a2....ana_1,a_2....a_{n}a1,a2....an。
n的范围是1≤n≤1e51\leq n\leq1e^51≤n≤1e5,1≤ai≤1e51\leq a_i\leq1e^51≤ai≤1e5.
Output
输出胜利者的名字"zxy"或者"wfy"
Sample Input 1
1
4
5 3 4 5
Sample Output 1
wfy
Hint
wfy先开始,只能拿前 5 颗或后 5 颗石子 。
假设他取了前 5 颗,这一行就变成了 [3,4,5] 。
如果zxy拿走前 3 颗,那么剩下的是 [4,5],wfy拿走后 5 颗赢得 10 分。
如果zxy拿走后 5 颗,那么剩下的是 [3,4],wfy拿走后 4 颗赢得 9 分。
这表明,取前 5 颗石子对wfy来说是一个胜利的举动,所以我们输出wfy 。
因为wfy先手,都要取最利于自己的选择(不一定是最多的,比如 5 8 3 3),(共有偶数堆石头),所以wfy一定会赢。。。。。。
#include<iostream>
using namespace std;
int main(){
int t;
cin>>t;
while(t--){
int n;
int b;
for(int i=1;i<=n;i++)
cin>>b;
cout<<"wfy"<<endl;
}
}