• A. Odds and Ends(思维)


    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
    Copy
    3
    1 3 5
    output
    Copy
    Yes
    input
    Copy
    5
    1 0 1 5 1
    output
    Copy
    Yes
    input
    Copy
    3
    4 3 1
    output
    Copy
    No
    input
    Copy
    4
    3 9 9 3
    output
    Copy
    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.

     算法:思维

    题解:如果n是奇数,并且 a[1] 和 a[n] 也是奇数,那么就输出Yes,否则No。

    #include <iostream>
    #include <cstdio>
    #include <algorithm>
    
    using namespace std;
    
    typedef long long ll;
    
    #define INF 0x3f3f3f3f
    const int maxn = 1e5+7;
    
    ll a[maxn];
    int n;
    
    int main() {
        scanf("%d", &n);
        for(int i = 1; i <= n; i++) {
            cin >> a[i];
        }
        if(n % 2 == 1 && a[1] % 2 == 1 && a[n] % 2 == 1) {
            printf("Yes
    ");
        } else {
            printf("No
    ");
        }
        return 0;
    }
  • 相关阅读:
    C 指针运算 指针访问数组
    C 字符串操作函数
    C putchar getchar
    C语言 指向函数的指针变量基础
    Openstack L2GW Plugin installation
    nova + ironic node
    cgroup
    ironic pxe tftp(二)Permission denied
    ironic bind port neutron port
    Failed to start OpenBSD Secure Shell server
  • 原文地址:https://www.cnblogs.com/buhuiflydepig/p/11312153.html
Copyright © 2020-2023  润新知