알고리즘/BOJ

[BOJ] 1057. 토너먼트

재담 2022. 4. 3. 01:28

문제 원본 : https://www.acmicpc.net/problem/1057

 

1057번: 토너먼트

김지민은 N명이 참가하는 스타 토너먼트에 진출했다. 토너먼트는 다음과 같이 진행된다. 일단 N명의 참가자는 번호가 1번부터 N번까지 배정받는다. 그러고 난 후에 서로 인접한 번호끼리 스타를

www.acmicpc.net

import java.io.*;
import java.util.StringTokenizer;

public class Main {
    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

        StringTokenizer st = new StringTokenizer(br.readLine());
        int n = Integer.parseInt(st.nextToken());
        int n1 = Integer.parseInt(st.nextToken());
        int n2 = Integer.parseInt(st.nextToken());
        int ans = 1;

        while (true) {
            if ((n1 % 2 == 1 && n2 - n1 == 1) || (n2 % 2 == 1 && n1 - n2 == 1)) {
                bw.write(String.valueOf(ans));
                break;
            }

            n1 = (n1 + 1) / 2;
            n2 = (n2 + 1) / 2;

            ++ans;
        }

        bw.close();
        br.close();
    }
}

'알고리즘 > BOJ' 카테고리의 다른 글

[BOJ] 2470. 두 용액  (0) 2022.04.05
[BOJ] 1715. 카드 정렬하기  (0) 2022.04.04
[BOJ] 9375. 패션왕 신해빈  (0) 2022.04.02
[BOJ] 1004. 어린 왕자  (0) 2022.04.01
[BOJ] 1620. 나는야 포켓몬 마스터 이다솜  (0) 2022.03.31