题解 | #小欧的奇数#(数论基础)
小欧的奇数
https://www.nowcoder.com/practice/aef41039765b433998812b9e9cfe02c2
题目分析:
若三个数的和为奇数那么有且只有两种可能:(下文用1代表奇数,用0代表偶数)
1+1+1
0+0+1
因此,我们只需要记录输入的奇数和偶数的个数,并做判断,只要满足其中一种条件即可输出YES
反之则NO
代码
#include "bits/stdc++.h"
using namespace std;
#define int long long
#define endl "\n"
#define PII pair<int,int>
#define PIII pair<int,PII>
const int MOD = 1e9 + 7;
const int N = 3e5;
bool cmp(PII p1, PII p2) {
return p1.first + p1.second < p2.first + p2.second;
}
bool isP(char t1, char t2) {
int c1 = t1 - '0';
int c2 = t2 - '0';
if ((c1 + c2) & 1)return false;
return true;
}
void slu() {
int n;
cin >> n;
int ji = 0, ou = 0;
for (int i = 0; i < n; i++) {
int t;
cin >> t;
if (t & 1)ji++;
else ou++;
}
if (ji >= 3 ||(ou >= 2 && ji >= 1))cout << "YES\n";
else cout << "NO\n";
}
signed main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int T;
// cin >> T;
T = 1;
while (T--)slu();
}

海康威视公司福利 1369人发布