AcWing 1208. 翻硬币
原题链接
简单
作者:
Sudoooo
,
2021-01-21 18:50:37
,
所有人可见
,
阅读 257
2021/01/21解决翻硬币
题目较为简单:使用一个int p [N]数组存储 目的字符串s2与当前字符串s1的异或值。然后依次进行翻转即可。
#include <iostream>
#include <cstring>
using namespace std;
int main(){
string s1, s2;
cin >> s1;
cin >> s2;
int n = s1.size();
int p[n];
for(int i = 0; i<n; i++){
if(s1[i]==s2[i])
p[i]=0;
else
p[i]=1;
}
int res = 0;
for(int i = 0; i<n; i++ ){
if(p[i]==0)
continue;
else{
//翻转一次
p[i]==0;
if(i+1<n)
p[i+1]=(p[i+1]+1)%2;
res++;
}
}
cout << res;
return 0;
}