Codeforces Beta Round #94 (Div. 2 Only) A. Cookies

http://codeforces.com/problemset/problem/129/A

题意:
一个人到双胞胎家里做客,她们正在分装饼干。他准备偷一包。
最后要求,剩下包裹里的饼干和为偶数,这样双胞胎能平分就不会吵架。

PS:
这道题的关键在于奇数个饼干的袋子总数是偶数还是奇数。
如果是偶数,那么总饼干数是偶数,偶数块里拿一包。偶数-偶数=偶数。
如果是奇数,饼干肯定有奇数块,奇数块里拿一包,奇数-奇数=偶数。

也可以用两个循环,第一个遍历,求和。第二个总数分别减每袋个数,如果剩下为偶数,则计数加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>
using namespace std;

int isEven(int x) {
if (x % 2 == 0) { return 1; }
else { return 0; }
}

int main() {
int n, odd = 0, even = 0;
cin >> n;
vector<int> c(n);
for (int i = 0; i < n; i++) {
cin >> c[i];
if (isEven(c[i])) { even++; }
else { odd++; }
}
if (isEven(odd)) {cout << even << endl; }
else { cout << odd << endl; }
return 0;
}