Wzr的签到题 众所周知,根据构造原理,奇数奇数=奇数,奇数偶数=偶数,偶数*偶数=偶数。 所以要想累乘为一个奇数,那么对于每一组ai-bi都必须是一个奇数。 众所周知,奇数-奇数=偶数,奇数-偶数=奇数,偶数-奇数=奇数,偶数-偶数=偶数,所以想要构造那必然是 数组a中的奇数和数组b中偶数配成一对、数组a中的偶数和数组b中的奇数配成一对,这样就能构造出奇数的结果。所以这道题可以转换成 数组a中奇数的个数和数组b中偶数的个数是否相同,也可以判断数组a中奇数个数+数组b中奇数个数加起来是否为n。
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int la,lb;//la代表数组a中奇数个数,lb代表数组b中奇数个数
int n;
int main(){
cin>>n;
for(int i=1;i<=n;i++){
ll x;
cin>>x;
if(abs(x)%2==0)
la++;
}
for(int i=1;i<=n;i++){
ll x;
cin>>x;
if(abs(x)%2==0)
lb++;
}
if(la==n-lb){
cout<<"Yes"<<endl;
}
else{
cout<<"No"<<endl;
}
return 0;
}