题目大意
两个01字符串,长度均为n,对第一个字符串有两个操作,每个操作都对应着cost,求把第一个字符串变为第二个的最小cost
链接
代码
注意到除非两个元素相邻,否则交换操作的花费是比改变操作大
#include <iostream>
#include <string>
using namespace std;
int n, ans;
int main() {
string s1, s2;
cin >> n;
cin >> s1 >> s2;
for (int i = 0; i < n; ++i) {
if (s1[i] != s2[i]){
if (s1[i + 1] != s2[i + 1] && s1[i] != s1[i + 1]){
++ans;
++i;
} else
++ans;
}
}
cout << ans << endl;
}