블루 브릿지 컵 이전 질문 질문 동전 던지기

블루 브릿지 컵 이전 질문 질문 동전 던지기

그림 삽입 설명 여기
그림 삽입 설명 여기
생각 순차적 후방 앞으로부터 [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;
}

잘못된 경우, 문제를 지적하시기 바랍니다! 감사합니다!

게시 13 개 원래 기사 · 원 찬양 5 · 조회수 494

추천

출처blog.csdn.net/qq_44410340/article/details/104928661