- 난이도: 실버 3
- 알고리즘: 브루트포스 알고리즘
어마어마하게 삽질한 문제다. 처음에는 홀수 짝수로 나눠서 문제를 풀었는데, 그냥 / 2 하니까 알아서 나눠지는 것을 왜 이렇게 늦게 깨달았을까.. 게다가 부전승도 엄청 복잡하게 생각해서 if 문으로 따로 처리해주려고 했다. 이전 코드는 예제를 입력해보면 거의 다 맞아서 결국 뭐가 틀렸는지 못 찾았다.
정답 코드는 정말 간단하게 while문 하나랑 몫 연산 해주는게 다였다. ㅋㅋㅋ
#include <iostream>
#include <vector>
#include <algorithm>
#include <string>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
int n, a, b;
cin >> n >> a >> b;
int cou = 0;
while (a != b) {
a = (a + 1) / 2;
b = (b + 1) / 2;
cou++;
}
cout << cou;
}