@PaulGuan
2016-10-02T11:21:57.000000Z
字数 477
阅读 815
第一学期第四周 题解
有n (1<=n<=100) 堆饼干,每堆饼干各有ai (1<=ai<=100) 个,拿走其中一堆,求解有多少种拿法使剩下的饼干数为偶数。
本题ai范围较小,可以用计数数组进行存放,然后依次假设被取走,进行判断便可。
#include <iostream>#include <algorithm>#include <cstring>int n;int flag[105];int ans=0;using namespace std;int main(void){memset(flag,0,sizeof(flag));cin>>n;int i,j;for(i=0;i<n;i++){int a;cin>>a;flag[a]++;}for(i=1;i<=100;i++){if(flag[i]){flag[i]--;int sum=0;for(j=1;j<=100;j++){sum+=j*flag[j];}if(sum%2==0)ans+=flag[i]+1;flag[i]++;}}cout<<ans<<endl;return 0;}
