블루 브릿지 컵 이전 질문 질문 동전 던지기
생각 순차적 후방 앞으로부터 [I], B [i]를 비교하여, 동일 켜져 있지 않으면, 비교는 앞으로 계속 다른 경우, 단지 즉 동전 던지기 앞이 경우 턴 동전 ([I - 1] 즉 A [i]를 뒤에 과정은 첫 번째 행의 반응)과 같은 반전하지만 반전 후 원래 상태로 자연스럽게 동일 기입되지 않을 수있다.
#include <iostream>
using namespace std;
string a, b;//a->原始状态, b->反转之后的状态
int F(int n)
{
if (n == 0)
{
return 0; //比较完毕,结束反转
}
if (a[n] == b [n])//相同
{
return F(n - 1);
}
else//不同
{
b[n - 1] = b[n - 1] == '*' ? 'o' : '*';//反转硬币
return F(n - 1) + 1;
}
}
int main()
{
int n;
cin >> a >> b;
n = a.length();
cout << F(n - 1);
return 0;
}
물론, 넓은 순환해야 할 일
#include <iostream>
using namespace std;
int main()
{
string a, b;
int i, sum = 0;
cin >> a >> b;
for (i = a.length() - 1 ; i > 0 ; i--)
{
if (a[i] != b[i])
{
b[i - 1] = b[i - 1] == '*' ? 'o' : '*';
sum++;
}
}
cout << sum;
}
잘못된 경우, 문제를 지적하시기 바랍니다! 감사합니다!