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;
}