思路:
找到两个串对应不相同的位置,可以知道,要是想变成一样的,得两个不同的位置同时往中间变换得到,花费是之间的距离
可以知道这样的话,相邻的两个位置得到一个花费;
#include<bits/stdc++.h>
using namespace std;
const int maxn = 1e3 + 7;
char s[maxn], t[maxn];
int main() {
scanf("%s", s);
scanf("%s", t);
int len = strlen(s);
vector<int> vec;
for(int i = 0; i < len; ++i) {
if(s[i]!=t[i]) vec.push_back(i);
}
if(vec.size() % 2 == 1) cout << -1 << endl;
else {
int ans = 0;
for(int i = 1; i < vec.size(); i += 2) {
ans += (vec[i]-vec[i-1]);
} cout << ans;
}
return 0;
}