https://codeforces.com/contest/1296/problem/A
목적
필요하다면 i번째 원소를 j번째 원소로 대체하여, 배열의 원소를 모두 더한 수가 홀수가 될 수 있는지 판별하자.
접근법
1. 배열에서 짝수와 홀수원소의 개수를 구한 뒤, odd sum이 가능한 조건을 검사한다.
2. 짝수의 개수가 0인 경우에 홀수의 개수는 홀수개여야 하고, 짝수의 개수가 1이상인 경우에 홀수가 하나라도 존재해야 한다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
#include<bits/stdc++.h>
#define f(i,l,r) for(int i=l;i<r;++i)
using namespace std;
int main() {
ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
int t; cin >> t;
while (t--) {
int n; cin >> n;
int a = 0, b = 0;
while (n--) {
int tmp; cin >> tmp;
if (tmp & 1)b++;
else a++;
}
if ((!a && b & 1) || (a && b))cout << "YES";
else cout << "NO";
cout << '\n';
}
return 0;
}
|
문제 설명과 코드에 대한 피드백은 언제나 환영합니다.
다양한 의견 댓글로 남겨주세요.
'Problem Solving > Codeforces' 카테고리의 다른 글
[ Codeforces 1296B - Food Buying ] 해설 및 코드 (0) | 2020.02.22 |
---|