两行等长的字符串,分别表示初始状态和要达到的目标状态。每行的长度<1000
输出格式
一个整数,表示最小操作步数。
样例输入1
**********
o****o****
样例输出1
5
样例输入2
*o**o***o***
*o***o**o***
样例输出2
1
思路:一开始觉得很难的题,后来发现就这啊??,每次判断当前位置是否与b串相等,如果不相等就把b串的这个位置赋值给他,然后判断当前位置加1的地方如果是星号修改为o如果是o修改为星号,然后sum++就行了,总之很水的一道题。
#include<bits/stdc++.h>
using namespace std;
int main(){
string a;
string b;
int sum=0;
getline(cin,a);
getline(cin,b);
for(int i=0;i<a.length();i++){
if(a[i]!=b[i]){
a[i]=b[i];
if(a[i+1]=='*')a[i+1]='o';
else a[i+1]='*';
sum++;
}
}
cout<<sum;
return 0;
}