time limit per test 2 seconds
memory limit per test 256 megabytes
题目链接https://codeforces.com/problemset/problem/1152/A
emmm,题目大意:给你n给锁和m把钥匙,你能干些****,只有当锁和钥匙数字之和为奇数是。。。问你他最多能干多少****
首先想到暴力:a对b找,b再对a找,然后相加。。。铁T
然后简化,和为奇数,则必然为一奇一偶,所以我们直接统计各个数列的奇数和偶数的个数就行了。。。
以下是AC代码:
#include <bits/stdc++.h>
using namespace std;
const int mac=1e5+10;
int a[mac],b[mac];
int main(){
int n,m;
cin>>n>>m;
int odd1=0,odd2=0;
for (int i=1; i<=n; i++){
scanf ("%d",&a[i]);
if (a[i]&1) odd1++;
}
for (int i=1; i<=m; i++){
scanf ("%d",&b[i]);
if (b[i]&1) odd2++;
}
int ans=0;
if (odd1>=m-odd2) ans+=m-odd2;
else ans+=odd1;
if (odd2>n-odd1) ans+=n-odd1;
else ans+=odd2;
cout<<ans<<endl;
return 0;
}