蓝桥杯——翻硬币
直接贪心算法解决:
#include<iostream> #include<string> using namespace std; int main() { string s1, s2; getline(cin, s1); getline(cin, s2); int n = s1.length(); int index = 0; for (int i = 0; i < n; i++) { if (s1[i] != s2[i]) { if (s2[i] == '*') { s2[i] = 'o'; } else { s2[i] = '*'; } if (s2[i + 1] == '*') { s2[i + 1] = 'o'; } else { s2[i + 1] = '*'; } index++; } } cout << index << endl; return 0; }