[PS 백준 - 2.11] 1057번: 토너먼트

PongkiJoa·2021년 6월 30일
0

PS Diary - 백준

목록 보기
24/54
post-thumbnail

문제 정보

백준 1057번 - 바로가기

  • 난이도: 실버 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;
}
profile
컴공 20학번

0개의 댓글

관련 채용 정보