- 题解
蓝桥杯国赛-15届
- @ 2025-8-22 16:07:49
#include <iostream>
using namespace std;
int a[10005];
int b[10005];
int main()
{
int t;
cin >> t;
while (t--)
{
int n;
cin >> n;
int sum = 0;
for (int i = 1; i <= n; i++) {
cin >> a[i];
if (a[i] == 1) sum++;
}
for (int i = 1; i <= n; i++) {
cin >> b[i];
if (b[i] == 1) sum++;
}
if (sum % 2 == 1) {
cout << -1 << endl;
continue;
}
int sum1 = 0, sum2 = 0;
for (int i = 1; i <= n; i++) {
if (a[i] != b[i]) {
if (a[i] == 1) sum1++;
else sum2++;
}
}
if (sum1 % 2 == 0) cout << (sum1 + sum2) / 2 << endl;
else cout << sum1 / 2 + sum2 / 2 + 2 << endl;
}
return 0;
}
0 条评论
目前还没有评论...