当前位置: 代码迷 >> 综合 >> Codeforces Round #431 (Div. 2) A. Odds and Ends(找规律)
  详细解决方案

Codeforces Round #431 (Div. 2) A. Odds and Ends(找规律)

热度:91   发布时间:2023-11-17 14:22:12.0

A. Odds and Ends
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output

Where do odds begin, and where do they end? Where does hope emerge, and will they ever break?

Given an integer sequence a1,?a2,?...,?an of length n. Decide whether it is possible to divide it into an odd number of non-empty subsegments, the each of which has an odd length and begins and ends with odd numbers.

subsegment is a contiguous slice of the whole sequence. For example, {3,?4,?5} and {1} are subsegments of sequence {1,?2,?3,?4,?5,?6}, while {1,?2,?4} and {7} are not.

Input

The first line of input contains a non-negative integer n (1?≤?n?≤?100) — the length of the sequence.

The second line contains n space-separated non-negative integers a1,?a2,?...,?an (0?≤?ai?≤?100) — the elements of the sequence.

Output

Output "Yes" if it's possible to fulfill the requirements, and "No" otherwise.

You can output each letter in any case (upper or lower).

Examples
input
3
1 3 5
output
Yes
input
5
1 0 1 5 1
output
Yes
input
3
4 3 1
output
No
input
4
3 9 9 3
output
No
Note

In the first example, divide the sequence into 1 subsegment: {1,?3,?5} and the requirements will be met.

In the second example, divide the sequence into 3 subsegments: {1,?0,?1}{5}{1}.

In the third example, one of the subsegments must start with 4 which is an even number, thus the requirements cannot be met.

In the fourth example, the sequence can be divided into 2 subsegments: {3,?9,?9}{3}, but this is not a valid solution because 2 is an even number.


题意:

给你一个序列,要你分段(只能连续的),要求分成奇数组,而且每组的开头结尾都要为奇数

思路:

一开始我用dfs暴力模拟做的,比赛的时候暂时过了。。。然后比赛结束就华丽得TLE了,因为第20组数据太变态了,然后老刘告诉了这题只要举反例判断一下就行了。。。就是开头为偶数或者结尾为偶数或者总长度为偶数就不符合,否则就符合。。orz

代码:

#include<iostream>
#include<cstring>
#include<stdio.h>
#include<math.h>
#include<string>
#include<stdio.h>
#include<queue>
#include<stack>
#include<map>
#include<vector>
#include<deque>
#include<algorithm>
using namespace std;
#define INF 100861111
#define ll long long
#define eps 1e-7
int main()
{int i,j,n,x,y;scanf("%d",&n);scanf("%d",&x);for(i=1;i<n;i++)scanf("%d",&y);if(n==1){if(x%2)printf("Yes\n");elseprintf("No\n");return 0;}if(n%2==0||x%2==0||y%2==0)printf("No\n");elseprintf("Yes\n");return 0;
}




  相关解决方案