【题目描述】
有一种有趣的游戏,玩法如下:
玩家: 2
人;
道具: N
堆石子,每堆石子的数量分别为 X1,X2,…,Xn
;
规则:
1、游戏双方轮流取石子;
2、每人每次选一堆石子,并从中取走若干颗石子(至少取 1
颗);
3、所有石子被取完,则游戏结束;
4、如果轮到某人取时已没有石子可取,那此人算负。
假如两个游戏玩家都非常聪明,问谁胜谁负?
【输入】
第一行,一个整数 N
;
第二行, N
个空格间隔的整数 Xi
,表示每一堆石子的颗数。
【输出】
输出仅一行,一个整数,若先手获胜输出 win
,后手获胜输出 lose
。
【输入样例】
4
7 12 9 15
【输出样例】
win
【提示】
数据范围与提示:
对于全部数据, N≤5×104,1≤Xi≤105
。
【思路】异或一遍就过
#include
using namespace std;
int main()
{
int n,a;
cin>>n;
int k=0;
for(int i=0;i<n;i++)
{
cin>>a;
k=k^a;
}
if(k){
cout<<"win";
}
else{
cout<<"lose";
}
return 0;
}