AtCoder AGC 010 A - Addition の不明点
AtCoder AGC 010 A - Addition にて結果が[WA]だったため調べたのですが、
解答コードの理屈がよく分からなかったため質問します。
問題、https://atcoder.jp/contests/agc010/tasks/agc010_a
竸プロの解説ブログをいくつか見ても最後の条件分岐で奇数が偶数個ならYesとする理屈が分かりませんでした。
奇数が奇数個ならNo
偶数が偶数個ならYes
奇数が偶数個ならYes
偶数が奇数個ならYes
を問題から解釈し以下コードを実装しました。
実装ソースコード
C++
1#include <bits/stdc++.h> 2using namespace std; 3 4int main() { 5 int N; 6 cin >> N; 7 8 vector<int> a(N); 9 10 for(int i = 0; i < N; i++){ 11 cin >> a.at(i); 12 } 13 14 int odd = 0; 15 16 for(int i = 0; i < N; i++){ 17 if(a.at(i) % 2 == 1){ 18 odd++; 19 } 20 } 21 22 if(odd % 2 == 1){ 23 cout << "No" << endl; 24 }else{ 25 cout << "Yes" << endl; 26 } 27}
補足
また、奇数が0個にはできない?とするのも不明でした。
なお、整数Anが配列である必要がないのは承知です。
回答2件
あなたの回答
tips
プレビュー