codeforces 1296A Array with Odd Sum 思维

https://vjudge.net/problem/CodeForces-1296A
在这里插入图片描述
思路:给一个数组,每次操作可以使 a [ i ] = a [ j ] ( i ! = j ) a[i]=a[j],(i!=j) ,问经过任意次操作后,能否使得数组元素之和为奇数。

思路:首先判断数组元素之和是否为奇数,若和为奇数或和为偶数且该数组中至少有 1 1 个偶数和 1 1 个奇数,就有解。

#include<bits/stdc++.h>
#define INF 0x3f3f3f3f
using namespace std;
typedef long long ll;

int t,n;

int main()
{
    scanf("%d",&t);
    while(t--)
    {
        scanf("%d",&n);
        bool flag1=0,flag2=0;
        int sum=0,v;
        for(int i=0;i<n;i++)
        {
            scanf("%d",&v);
            sum+=v;
            if(v&1)
                flag1=1;
            else
                flag2=1;
        }
        if(sum&1||(flag1&&flag2))
            printf("YES\n");
        else
            printf("NO\n");
    }
    return 0;
}

发布了677 篇原创文章 · 获赞 30 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/xiji333/article/details/104197185