zoukankan      html  css  js  c++  java
  • codeforce 849A

    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.

     

    很惭愧,第一次打cf,只做出来这一道题。题意有点绕,大致就是问能不能把一个序列分成 奇数个 长度为奇数 且 首尾数字为奇数 的连续子序列。

    当时做的时候,试了几个例子,发现如果n为偶数,无法同时满足个数和长度都为奇数,所以遇到n为偶数直接输出no。

    n为奇数的时候,只要首尾两个数字是奇数就可以满足条件了。

    附代码:

     1 #include <cstdio>
     2 #include <cstring>
     3 const int M = 111;
     4 int nu[M];
     5 int main(){
     6   int n;
     7   scanf("%d",&n);
     8   for(int i=0;i<n;i++){
     9       scanf("%d",&nu[i]);
    10   }
    11   if(nu[0]%2==0||nu[n-1]%2==0||n%2==0)
    12   printf("No
    ");
    13   else printf("Yes
    ");
    14   return 0;
    15 }
    View Code
  • 相关阅读:
    使用MFC界面库LibUIDK制作超酷界面
    使用WSH和WMI实现定时记录系统CPU和内存使用率
    关于CreateFileMapping的问题
    360对NSIS误报Malware.QVM06.GEN的解决办法
    win2003实现单用户远程登录
    All bytes must be within the maximum size specified by CreateFileMapping
    解决在VS2005中“当前不会命中断点。源代码与原始版本不同”的问题
    static library中能不能带资源
    HUDSON_HOME
    USB GUID查找
  • 原文地址:https://www.cnblogs.com/zmin/p/7465918.html
Copyright © 2011-2022 走看看