https://www.acwing.com/problem/content/description/1210/
中心思想就是只要有不一样的就要翻转(这个模拟一下样例就可以)
对比一下当时自己的神奇解法
#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
const int N = 100;
char start[N], aim[N];
void turn(int i)
{
if(start[i] == '*') start[i] = 'o';
else start[i] = '*';
}
int main()
{
cin >> start >> aim;
int n = strlen(start);
int res = 0;
for(int i = 0; i < n; i ++)
{
if(start[i] != aim[i])
{
turn(i), turn(i + 1);
res ++;
}
}
cout << res;
return 0;
}
5个月之前的做法
几乎一样的做法
#include<iostream>
using namespace std;
int cnt;
int main()
{
string s1, s2;
cin >> s1 >> s2;
for(int i = 0; i < s1.size() - 1; i ++)
{
if(s1[i] != s2[i] && s1[i] == s1[i + 1])
{
s1[i] = s2[i];
s1[i + 1] = s2[i];
cnt ++;
}
if(s1[i] != s2[i] && s1[i] != s1[i + 1])
{
s1[i + 1] = s1[i];
s1[i] = s2[i];
cnt ++;
}
}
cout << cnt;
return 0;
}