[백준] 1057 - 토너먼트
[백준] 1057 - 토너먼트

[백준] 1057 - 토너먼트

언어
Python
C++
난이도
Sliver 4
다시 풀어보기
다시 풀어보기
알고리즘 유형
브루트포스
수학
작성자
박용성박용성
생성 일시
2024년 10월 09일

🖥 시작하며

수학 문제다.
토너먼트를 직접 그려보면서 접근하면 더 잘 이해할 수 있다.
notion image

⚙️ 코드

import sys input = sys.stdin.readline def solution(a, b): round = 0 # 라운드 0부터 시작 # a와 b가 같으면 이전 라운드에서 만났다는 말과 같음 while a != b: round += 1 a = (a + 1) // 2 b = (b + 1) // 2 return round if __name__ == "__main__": N, A, B = map(int, input().split()) result = solution(N, A, B) print(result)
#include <iostream> using namespace std; int solution(int n, int a, int b) { int round = 0; while (a != b) { round++; a = (a + 1) / 2; b = (b + 1) / 2; } return round; } int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int N, A, B; cin >> N >> A >> B; int result = solution(N, A, B); cout << result << "\n"; return 0; }

📌 소감

댓글

guest