mirror of
https://git.sb/baoshuo/OI-codes.git
synced 2025-01-26 00:20:07 +00:00
parent
523f43341f
commit
a3fe24e2d5
46
CodeForces/1615/C/C.cpp
Normal file
46
CodeForces/1615/C/C.cpp
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
#include <iostream>
|
||||||
|
#include <string>
|
||||||
|
|
||||||
|
using std::cin;
|
||||||
|
using std::cout;
|
||||||
|
using std::endl;
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
int t;
|
||||||
|
cin >> t;
|
||||||
|
while (t--) {
|
||||||
|
int n, cnt1 = 0, cnt2 = 0;
|
||||||
|
std::string a, b;
|
||||||
|
cin >> n >> a >> b;
|
||||||
|
for (char c : a) {
|
||||||
|
cnt1 += c == '1';
|
||||||
|
}
|
||||||
|
for (char c : b) {
|
||||||
|
cnt2 += c == '1';
|
||||||
|
}
|
||||||
|
if (cnt1 != cnt2 && n - cnt1 + 1 != cnt2) {
|
||||||
|
cout << -1 << endl;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
int m0 = 0, m1 = 0;
|
||||||
|
for (int i = 0; i < n; i++) {
|
||||||
|
if (b[i] == '1') {
|
||||||
|
if (a[i] == '0') {
|
||||||
|
m0++;
|
||||||
|
} else {
|
||||||
|
m1++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
int a1 = (cnt2 - m1) * 2,
|
||||||
|
a2 = (cnt2 - m0) * 2 - 1;
|
||||||
|
if (cnt1 != cnt2) {
|
||||||
|
cout << a2 << endl;
|
||||||
|
} else if (n - cnt1 + 1 != cnt2) {
|
||||||
|
cout << a1 << endl;
|
||||||
|
} else {
|
||||||
|
cout << std::min(a1, a2) << endl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user