zoukankan      html  css  js  c++  java
  • 暑期集训20190725 加法(add)

    【题目描述】 数学课,黑板上写着n个数字,记为A1到An,fateice会重复以下操作若干次:

      1. 选择两个奇偶性相同的整数Ai和Aj, 将他们擦去

      2. 将Ai+Aj写在黑板上 问黑板上最终是否有可能只剩一个数

    【输入数据】 输入的第一行一个n 第二行 n个整数,表示A1...An

    【输出数据】 如果可能只剩一个数,输出YES,否则输出NO

    【样例输入1】 3 1 2 3

    【样例输出1】 YES

    【样例输入2】 5 1 2 3 4 5

    【样例输出2】 NO

    【数据范围】 对于10% 的数据, n = 2 对于100%的数据2 <= n <= 10^5, 1 <= Ai <= 10^9

    由于每次去除两个奇偶性相同的数并相加合并,则得到的必为偶数。

    想要最后得到一个数,则n个数字必须能够全部转换为偶数。

    因此判断奇数个数是否为偶数即可。

    #include <bits/stdc++.h>
    using namespace std;
    int main(){
        freopen("add.in", "r", stdin);
        freopen("add.out", "w", stdout);
        int n;
        int ocnt=0;
        scanf("%d", &n);
        int temp;
        for(int i=0; i<n; i++){
            scanf("%d", &temp);
            if(temp%2 == 1) ocnt++;
        }
        if(ocnt%2 == 1){
            printf("NO");
            return 0;
        }
        else printf("YES");
         return 0;
    }
  • 相关阅读:
    MAC使用小技巧(一)
    开发者:网站 & SDK
    编译 & 预处理
    归并排序 & 快速排序
    算法 & 分析 (收集)
    栈 & 堆 |--> 内存管理
    [ 单例、代理 & 通知 ]
    博客园:CSS & HTML
    比较、字符串
    Swift # 异常处理
  • 原文地址:https://www.cnblogs.com/miserweyte/p/11259148.html
Copyright © 2011-2022 走看看