事实上这是一道思维+模拟题~
从下标$0$开始,对于位置$\color{red}{p}$,如果两个字符串对应字符是相同的,则不需要更改(且更改只会使次数增大)。如果不同,则一定要更改(因为是从左到右扫过去的,不改不满足题意)。
按照这个固定策略模拟操作即可。
#include<bits/stdc++.h>
using namespace std;
const int N = 105;
char a[N],b[N]; //let a match b
void turn(int p){
a[p]=a[p]=='*'?'o':'*';
}
int main(){
cin>>a>>b;
int len=strlen(a);
int ans=0;
for(int i=0;i<len;i++){
if(a[i]!=b[i]){
turn(i+1);
ans++;
}
}
cout<<ans;
return 0;
}