Codeforces Round #617 (Div. 3), problem: (A) Array with Odd Sum 【math】

题意

给你 t 组数据,每组输入一个n长度的数组,可以通过i 和 j 赋值,但 i ! = j ,问是否能使数组和为奇数

思路

不能组成奇数和的情况:

  • 全为偶数
  • 没有偶数,但奇数的个数为偶数

其它情况都能满足和为奇数

code

#include<bits/stdc++.h>
#define endl '\n'
using namespace std;
int n,t;
int main(){
    ios::sync_with_stdio(false);
    cin.tie(0);
    cin>>t;
    while(t--){
        cin>>n;
        int x,cnt=0;
        for(int i=1;i<=n;i++){
            cin>>x;
            if(!(x&1)) ++cnt;
        }
        if(cnt==n || cnt==0&&!(n&1)) cout<<"NO"<<endl;
        else cout<<"YES"<<endl;
    }
    return 0;
}
学如逆水行舟,不进则退
发布了470 篇原创文章 · 获赞 1150 · 访问量 17万+

猜你喜欢

转载自blog.csdn.net/weixin_42429718/article/details/104178457