第十一届ACM河南省赛 Attack City and Capture Territory(Nim博弈)

12 篇文章 0 订阅
6 篇文章 0 订阅

提交地址点击打开链接

裸Nim博弈

 
 

The Three Kingdoms period was a relatively famous period in the history of China. From the Battle of Chibi (AD 211) to the reunification of China in the Western Jin Dynasty(AD 280). During the period, Cao's Wei State, Liu's Shu State, and Sun's Wu Guo's Three Kingdoms stood together. Therefore, it was called the Three Kingdoms period.

 

In the last years of the Eastern Han Dynasty, Dong_ Z specialized in power , the coalition forces of the world's princes crusade against each other. Among them, Liu_B and Sun_Q, who are school students, also participated in the crusade.

 

In AD 215 , Liu_B and Sun_Q simultaneously attacked JingZhou and directly threatened Dong Z's city. There were N firepower points on the high wall, each fire point with different s trength Xi . Liu_B and Sun_Q  looked at the high walls and the strong gates,  they did not attack the city traightaway.  They negotiate  to attack  firepower point  alternately. Who breaks through the last firepower point, he will win the city.

 

Because of limited weaponry, weapons of each side can only attack one firepower at a time. But they can control whether completely destroy this firepower point or weaken the strength of  firepower point.

Liu_B has a strong think-tank. After calculation, he finds out who will attack first , who will more likely win the city .

输入

 
 

The first line of the input contains one integer T, which is the number of  test cases (1<=T<=10).  Each test case specifies:

* Line 1:       N                ( 1 ≤ N ≤ 100 )

* Line 2:      X1 X2… Xn        ( 1 <= Xi<=1000    i=1…. n)

输出

 
 

For each test case ,  print  “Liu_B is sure to win.” Or  “Liu_B is not sure to win. ,  suppose Liu_B first attacks.

样例输入

复制
321 323 351 2 3 4 5

样例输出

复制
Liu_B is sure to win.
Liu_B is not sure to win.
Liu_B is sure to win.

#include<bits/stdc++.h>
using namespace std;
int main()
{
	int t;
	cin>>t;
	while(t--)
	{
		int n;
		cin>>n;
		int ans = 0;
		int a;
		for(int i = 0;i<n;i++)
		{
			cin >>a;
			ans ^=a;
		}
		if(ans) cout<<"Liu_B is sure to win.\n";
		else cout<<"Liu_B is not sure to win.\n";
	}
}
/*
3
2
1 3
2
3 3
5
1 2 3 4 5
*/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值