题目链接:点击这里
思路:初始状态和目标状态有偶数个位置不同,初始状态中每两个不同的位置之间可以翻转成目标状态。
#include<iostream>
#include<cstdio>
#include<cstring>
#include<vector>
#include<algorithm>
using namespace std;
const int N = 1010;
char a[N], b[N];
vector<int> p;
int main()
{
scanf("%s%s", a, b);
int lena = strlen(a);
for(int i = 0; i < lena; ++i)
if(a[i] != b[i]) p.push_back(i);
int ans = 0;
for(int i = 1; i < p.size(); i += 2)
ans += p[i] - p[i-1];
printf("%d\n", ans);
return 0;
}