Codeforces Global Round 1 A. Parity

这个运用一点数学知识就能解决偶数*偶数结果是偶数,奇数乘偶数也是偶数,奇数乘奇数是奇数,然后奇数个奇数相加的到奇数,偶数和奇数相加,如果奇数是奇数个那么这个最终结果就是奇数,

反之结果就是偶数

所以看a*b的奇偶性

如果是奇就是说明a 和b都是奇数,那么再在后面乘奇数答案绝对是奇数

反之a*b是偶数,再乘绝对是偶数

这里统计奇数的个数就行,如果是奇数个那么最终结果就是奇数

这里注意一点对于最后一个加的数它是b的0次方,所有就是他本身要特判一下;

AC代码:

#include<bits/stdc++.h>
using namespace std;
int main()
{
    long long a,b,k;
    while(cin>>b>>k)
    {
        long long sum=0;
        for(int i=0; i<k-1; i++)///少一次是要把最后一个a进行特判
        {
            cin>>a;
            if((a*b)%2==1)///判断a*b的奇偶性
                sum++;///奇数的话计数加一
        }
        cin>>a;
        if(a%2==1)///特判
            sum++;
        if(sum%2==1)
            cout<<"odd"<<endl;
        else
            cout<<"even"<<endl;
    }


    return 0;

}
原文地址:https://www.cnblogs.com/tp25959/p/10360124.html