您的位置:首页 > 编程语言 > C语言/C++

acmore 1510: ZZ love Cookies

2013-06-25 11:24 651 查看

1510: ZZ love Cookies

Time Limit: 1 Sec  Memory Limit:
64 MB
Submit: 228  Solved: 139
Submit
Status
Web Board

Description

  One day, ZZ came to visit her friend LL and DD and saw that they have many cookies. The cookies are distributed into bags, As there are many cookies, ZZ decided that it’s no big deal
if she steals a bag. However, she doesn’t want to her friends to quarrel because of nothing when they divide the cookies. That’s why ZZ wants to steal a bag with cookies so that the number of cookies in the remaining bags was even, that is, so that LL and
DD could evenly divide into two (even 0 remaining cookies will do, just as any other even number). How many ways there are to steal exactly one cookies bag so that the total number of cookies in the remaining bags was even?

Input

The first line contains the only integer n (1 ≤ n ≤ 1000) — the number of cookie bags Anna and Maria have. The second line contains n integers ai (1 ≤ ai ≤ 1000) — the number of cookies
in the i-th bag.

Output

Print in the only line the only number — the sought number of ways. If there are no such ways print 0.

Sample Input

11101 2 2 3 4 4 4 2 2 2

Sample Output

18

HINT

Source

2013ACM多校联合(4)_NUN

解题思路:只要留下的饼干总数为偶数即可,若饼干总数为偶数,则可取走饼干数为偶数的任一包裹,否则可取走饼干数为奇数的任一包裹。

#include<stdio.h>
int main()
{
int sum,sum1,sum2;
int n;
int a[1002];
int i;
while(scanf("%d",&n)!=EOF)
{
sum=0;
sum1=0;
sum2=0;
int j=n;
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
sum+=a[i]; //统计总数
if(a[i]%2==0) //统计饼干为偶数个的包裹个数
sum1++;
else //统计饼干为奇数个的包裹个数
sum2++;
}
if(sum%2==0) //若总数为偶数,则可取走饼干数为偶数的任意包裹
sum=sum1;
else //若总数为奇数,则可取走饼干数为奇数的任意包裹
sum=sum2;
printf("%d\n",sum);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C++ C