Codeforces Round #617 (Div. 3), problem: (A) Array with Odd Sum 【math】
发布日期:2021-06-29 14:29:54 浏览次数:2 分类:技术文章

本文共 901 字,大约阅读时间需要 3 分钟。

题意

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

思路

不能组成奇数和的情况:

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

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

code

#include
#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"<

补充:

思路

能组成奇数和的情况:

  • 判断和是否为1
  • 只要存在有偶数和奇数,那么一定可以通过赋值使得和为奇数

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

#include
using namespace std;int t,n,x;int main(){
ios::sync_with_stdio(false); cin.tie(0); cin>>t; while(t--){
cin>>n; int sum=0; int cnt1=0,cnt2=0; for(int i=1;i<=n;i++){
cin>>x; sum+=x; if(x&1) ++cnt1; else ++cnt2; } if(sum&1 || cnt1&&cnt2) cout<<"YES"<
学如逆水行舟,不进则退

转载地址:https://chocolate.blog.csdn.net/article/details/104178457 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Codeforces Round #617 (Div. 3), problem: (B) Food Buying 【math】
下一篇:熟练掌握 JavaScript 中的 this,call,apply 的原理

发表评论

最新留言

表示我来过!
[***.240.166.169]2024年04月15日 05时04分22秒