Cookies
时间限制:
1000 ms | 内存限制:
65535 KB
难度:
1
-
描述
-
Olga came to visit the twins Anna and Maria and saw that they have many cookies. The cookies are distributed into bags. As there are many cookies, Olga decided that it's no big deal if she steals a bag. However, she doesn't want the sisters to quarrel because of nothing when they divide the cookies. That's why Olga wants to steal a bag with cookies so that the number of cookies in the remaining bags was even, that is, so that Anna and Maria could evenly divide it into two (even 0 remaining cookies will do, just as any other even number). How many ways there are to steal exactly one cookie bag so that the total number of cookies in the remaining bags was even?
-
输入
-
The first line contains the only integer n (1 ≤ n ≤ 100) — the number of cookie bags Anna and Maria have. The second line contains n integers ai (1 ≤ ai ≤ 100) — the number of cookies in the i-th bag.Cases will be end with EOF.
-
输出
-
Print in the only line the only number — the sought number of ways. If there are no such ways print 0.
-
样例输入
-
1
1
10
1 2 2 3 4 4 4 2 2 2
11
2 2 2 2 2 2 2 2 2 2 99
-
样例输出
-
1
8
1
比较简单的一道题,题目要求的少,所以处理也简单了,刚开始没看懂题意,感觉很难,然后思考一下,原来这么简单啊,然后秒a.....
就是求出去掉一列数中的某一个值后,剩下的和是偶数,一共有几种选法....比较直观的方法就是循环枚举一下,数据量小,不怕超时..
#include<stdio.h>
int main()
{
int x[105],n;
//freopen("shuju.txt","r",stdin);
while(~scanf("%d",&n))
{
int sum=0,cnt=0,i;
for(i=0;i<n;++i)
{
scanf("%d",x+i);
sum+=x[i];
}
for(i=0;i<n;++i)
{
if((sum-x[i])%2==0)
{
++cnt;
}
}
printf("%d\n",cnt);
}
return 0;
}