728x90
1. 문제 설명
토너먼트에 참여한 김지민의 번호와 임한수의 번호가 주어졌을 때 김지민과 임한수가 대결하는 라운드 번호를 출력한다.
N이 짝수이면 다음 라운드에서 번호가 N/2가 되고, N이 홀수이면 다음 라운드에서 번호가 N/2+1가 되는 성질을 이용해서
N/2+N%2를 다음 번호로 설정했다. 만약 김지민과 임한수의 다음 번호가 같다면 현재 라운드에서 만난다.
2. 코드
import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan=new Scanner(System.in);
int total,kim,han;
int round=1;
total=scan.nextInt();
kim=scan.nextInt();
han=scan.nextInt();
int kim_round=kim/2+kim%2;
int han_round=han/2+han%2;
while(kim_round!=han_round){
kim_round=kim_round%2+kim_round/2;
han_round=han_round%2+han_round/2;
round++;
}
System.out.println(round);
scan.close();
}
}
728x90
'알고리즘' 카테고리의 다른 글
[JAVA]백준 1735번: 분수 합 (0) | 2020.11.14 |
---|---|
[JAVA]백준 4641번: Doubles (0) | 2020.11.14 |
[JAVA]백준 9996번: 한국이 그리울 땐 서버에 접속하자 (0) | 2020.11.05 |
[JAVA]백준 1058번: 친구 (0) | 2020.11.04 |
[JAVA]백준 1145번: 적어도 대부분의 배수 (0) | 2020.11.04 |