반응형
1057 토너먼트 문제는 일단 이해가 쉽다.
우리 모두 알고 있는 토너먼트 형식이고
입력값으로 주어진 번호로 몇 번째에 서로 대결을 하는지 구하는 것입니다.
입력 값으로는 총 인원 / 김지민 번호 / 임한수 번호 가 주어집니다.
나머지는 누가 이기던 상관이 없으며 김씨와 임씨는 무조건 이긴다는 가정이 있습니다.
8번인 김씨와 9번인 임씨에 대한 규칙이 생깁니다.(12까지만 했습니다.)
김씨(빨) 8 > 4 > 2 > 1 > 대결
임씨(파) 9 > 5 > 3 > 2 > 대결
그렇다면 짝수 홀수 모두 N = N/2 + N%2 라는 규칙이 생깁니다.
(여기서 %는 나머지를 구하는 것입니다.)
이 규칙을 구하셨다면 금방 해결이 될겁니다.
여기까지 이해가 된다면 다 끝난겁니다.
<코 드>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | import java.util.Scanner; public class Beak1057 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int kim = sc.nextInt(); int im = sc.nextInt(); int count = 0; while(kim != im) { kim = kim/2 + kim%2; im = im/2 + im%2; count++; } System.out.println(count); } } | cs |
이렇게 작성하면 깔끔하게 성공입니다.
반응형
사업자 정보 표시
난길샵 | 박현숙 | 경상북도 성주군 월항면 수죽길 98길 | 사업자 등록번호 : 256-07-01668 | TEL : 010-9909-8420 | Mail : skr04@naver.com | 통신판매신고번호 : 제2020-경북성주-52호 | 사이버몰의 이용약관 바로가기
'Project > Algorithm' 카테고리의 다른 글
[기초 알고리즘] 그래프(기초Ⅱ) (0) | 2017.08.10 |
---|---|
[기초 알고리즘] 그래프(기초Ⅰ) (0) | 2017.08.10 |
[백준 알고리즘] 1547(공) (0) | 2017.08.08 |
[백준 알고리즘] 1094문제 (막대기) (2) | 2017.08.07 |
[백준 알고리즘] 2455번(지능형 기차) (0) | 2017.08.07 |
댓글