1664:【例 2】取石子游戏 2

【题目描述】
有一种有趣的游戏,玩法如下:

玩家: 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;
}

你可能感兴趣的:(异或)