[1. 직녀]
문제)
음력 7월 7일 (2011년 8월 6일) 직녀는 견우를 만날 수 있다는 기대감에 방방 뛰고 있었다.
하지만! 진작 오작교를 놓아줄 까치와 까마귀가 지구에서 직녀성까지 무려 약 25광년이라는
거리를 와야 한다는 핑계를 대면서 2011년 9월 13일에 직녀성에 도착하였다. (실제, 지구와 직녀성은 약 25광년만큼 떨어져있다)
직녀성의 위치는 현재 A(0)에 있으며 까마귀와 까치가 총 N마리가 와있는 상태이다. 편의상, 견우성과 직녀성 사이를 일차원 수직선으로 다루겠다.
직녀는 적어도 견우를 D일 후에는 보고 싶다며 까마귀와 까치를 타일렀다.
까마귀와 까치가 다음 규칙에 따라 움직이고, 견우는 B(M) 위치에 있다고 하자.
N과 M과 D, 그리고 K(규칙에 언급)가
주어졌을 때, 직녀는 앞으로 D일 전(D일이여도 됨)까지 견우를 볼 수 있는지 판단하는 프로그램을 작성해보자.
[까마귀와 까치가 움직이는 규칙] 1. N마리가 직선을 이루면 좌표상의 길이 N를 형성하게 된다. (새 한 마리를 거리 1로 봐도 무방하다) |
예제에 대한 설명을 보면 이해가 더 쉬울 것이다.
입력 형식)
첫 줄에는 테스트케이스 개수 T가 주어진다. (1 ≤ T ≤ 100)
다음 T개의 줄에는 정수 N, M, K, D 가 차례대로 주어진다.
(1 ≤ N ≤ 1010 , | M | ≤ 1010, 1 ≤ K ≤ 24, 0 ≤ D ≤ 1010)
출력 형식)
T개의 케이스마다 한줄 씩 답을 출력한다.
이 때, 각 줄의 처음에는 몇 번째 케이스인지 나타나는 Case 1: 과 같은 형식이 있어야 하며 만약 직녀가 D일안에(D일이여도 됨) 견우에게 갈 수 있다면 Yes를, 가지 못한다면 No를 출력한다.
입력 예제)
5출력 예제)
설명)
N = 3, M = 6, K = 12, D = 3 일 때
위의 상황을 보면 1.5일 후에 견우와 직녀가 만날 수 있다는 것을 알 수 있다. 따라 두 번째 예제는 3일 만에 만날 수 있으므로 Yes이다.
주의)
문제에서 다루는 수가 매우 크다.
그러므로 32비트 정수형 int 대신 64비트 정수형인 __int64나 long long을 사용하도록 한다.
출처:koi4u 2011년 8 월 모의고사 1 번