NYOJ D : 我不喊麦,我叫MC李白

来源:互联网 发布:小世界网络模型应用 编辑:程序博客网 时间:2024/04/29 21:05

D : 我不喊麦,我叫MC李白

题目描述

窗前我明月光,疑是他地上霜。举头这望明月,低头那思故乡。

大家好,我是MC——李白 

有人说,随便找一首古诗,加上我、他、这、那四个字,那都成喊麦的了。比如说,我(诗仙)——MC李白。其实喊麦挺不容易的,当然,搞ACM更"休闲"(修仙)

给你一些数a1,a2,a3,.....,an,长度为n。请你确定是否可以将其划分成奇数个非空子段,每个子段具有奇数长度,以奇数开头和结尾。

子段是整个序列的连续片段。例如,{3,4,5}和{1}是序列{1,2,3,4,5,6}的子段,而{1,2,4}和{7}则不是。

输入

输入文件的第一行是一个整数T(1≤T≤1000),表示有T组数据。接下来是T组数据,每组数据有两行,

第一行有一个整数n(1≤n≤1000000),表示接下来有n个数。

第二行有n个整数,每两个整数之间有一个空格,整数范围为[0,1000000000]。

输出

如果可以满足要求,输出“Yes”,否则输出“No”(不含引号)

样例输入

复制
431 3 551 0 1 5 134 3 143 9 9 3

样例输出

复制
YesYesNoNo

提示

在第一个例子中,将序列划分为1个子段:{1,3,5},满足要求。

在第二个例子中,将序列划分为3个子段:{1,0,1},{5},{1}。

在第三个例子中,其中一个子段必须以4为起点,这是一个偶数,因此不能满足要求。

在第四个例子中,序列可以分为2个子段:{3,9,9},{3},但这不是一个有效的解,因为2是一个偶数。

代码:

#include<stdio.h>#include<algorithm>using namespace std;int main(){    int t,n;    long long a;    scanf("%d",&t);    while(t--)    {        scanf("%d",&n);        int o=1;        for(int i=1;i<=n;i++)        {           scanf("%lld",&a);           if(i==1||i==n)//开头和结尾判断就行           {               if(a%2==0)                 {                   o=0; //有一个为偶就不行               }           }        }        if(n%2==0)        {            printf("No\n");            continue;        }        if(o)            printf("Yes\n");        else            printf("No\n");    }}


原创粉丝点击