题目描述
A
l
i
c
e
Alice
Alice 和
B
o
b
Bob
Bob 从小就一起玩石子。
有一天,他们又想愉快的玩一个石子游戏。
一共有 n 堆石子,第 i 堆石子有
a
i
ai
ai个,两人轮流操作。
A
l
i
c
e
Alice
Alice 走先手,每个人每个回合只能对一堆石子进行操作,Alice 每次操作只能拿偶数个石子,Bob 每次操作只能拿奇数个石子, 每次操作至少拿走一个石子,直到一方无法进行任何操作,无法操作的人失败。
假设
A
l
i
c
e
Alice
Alice与
B
o
b
Bob
Bob都是绝顶聪明的,如果
A
l
i
c
e
Alice
Alice 可以获胜,那么输出
Y
E
S
YES
YES,否则输出
N
O
NO
NO。
输入描述:
多组数据。对于每组数据,第一行输入一个正整数
n
n
n,第二行输入
n
n
n 个正整数,第
i
i
i 个数表示
a
i
ai
ai。
输出描述:
对于每组数据,每行输出一个字符串
Y
E
S
YES
YES或
N
O
NO
NO。
示例1
输入
2
2 1
输出
NO
示例2
输入
1
6
输出
YES
备注:
对于
20
20
20%的数据,数据组数为
1
1
1且
n
=
1
n=1
n=1
对于另外
20
20
20%的数据,n=1;
对于另外
20
20
20%的数据,石子数都为1;
对于
100
100
100%的数据n的和小于
1000000
1000000
1000000,石子数小于
1000000000
1000000000
1000000000
解题思路
这一看就是有规律的,手玩一下数据,最后发现,只有一种情况输出
“
Y
E
S
”
“YES”
“YES”。。。
只有KaTeX parse error: Expected 'EOF', got '&' at position 5: n==1&̲&a[1]是偶数时,输出
“
Y
E
S
"
“YES"
“YES"。。。
代码
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<iomanip>
#include<cmath>
using namespace std;
int n,maxn,a[2000000];
int main(){
while(cin>>n)
{
for(int i=1;i<=n;i++)
scanf("%d",&a[i]);
if(n==1&&a[1]%2==0)
printf("YES\n");
else printf("NO\n");
}
}