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
  • 相关阅读:
    使用ANT入门例子
    React 项目中使用create-react-app创建项目引入antd样式不起作用的问题
    js中对象数组遍历,及区别
    vue中axios封装
    uni-app中开发需要注意事项
    git 提交代码和 合并分支 ,回滚代码
    vue..js3.0
    vue中强制组件重新渲染
    vuex中获取当前路由
    H5 video在移动端播放层级问题
  • 原文地址:https://www.cnblogs.com/zmin/p/7465918.html
Copyright © 2011-2022 走看看