페이지를 불러오는 중…
해결한 사람
1
명
정답률
100.00
%
시간 제한
30000
ms
메모리 제한
1024
MB
두 선수 팀이 퐁을 한다. 퐁은 각 선수가 패들(점이라고 가정한다)을 조종하고 작은 공이 앞뒤로 튀는 간단한 컴퓨터 게임이다. 한 팀의 선수들은 정해진 순환 순서로 공을 쳐 내야 한다(따라서 선수가 셋인 팀에서는 공에 처음 닿는 선수가 P1, 그다음이 P2, 그다음이 P3이고, 그 후에야 다시 P1이다). 이 과정은 선수 중 하나가 공을 쳐 내지 못할 때까지 계속되며, 그러면 공은 경기장을 벗어나고 그 선수의 팀이 패배한다.
더 정확히 설명하면 다음과 같다. 경기장은 AxB 크기의 직사각형이다. 각 수직 벽(길이는 A)에는 그 벽을 수비하는 팀의 선수마다 하나씩, 여러 개의 패들이 있다. 각 패들은 점이다. 한 팀 선수들의 모든 패들은 같은 속력(초당 단위 수)으로 수직 이동하며, 서로를 자유롭게 통과할 수 있다. 공도 하나 있으며, 공의 초기 위치(왼쪽 아래 모서리를 기준으로 한 수평 및 수직 위치)와 초기 속도(마찬가지로 초당 단위 수로 나타낸 수평 및 수직 속도)가 주어진다. 선수들은 공의 초기 위치를 알고 자신의 수직 벽에서 패들의 초기 위치를 선택할 수 있다. 공이 수평 벽에 도달할 때마다 튕겨 나온다(입사각과 반사각이 같다). 공이 경기장의 수직 끝에 도달할 때마다, 그때 공에 닿아야 하는 선수의 패들이 그곳에 있으면 공이 튕겨 나오고, 그렇지 않으면 그곳에 패들이 있어야 했던 선수의 팀이 패배한다.
선수들이 공을 앞뒤로 계속 쳐 내므로 경기는 상당히 오래 이어질 수 있다. 모든 선수가 최적으로 플레이한다고 가정할 때 최종 결과를 구하는 것이 목표이다.
시간 제한: 테스트 세트당 30초. 메모리 제한: 1GB. 1 ≤ T ≤ 100. 0 < X < B 0 < Y < A
1 ≤ N, M ≤ 1 ≤ V, W ≤ - ≤ ≤ - ≤ ≤ 2 ≤ A, B ≤
1 ≤ N, M ≤ 1 ≤ V, W ≤ - ≤ , ≤ 2 ≤ A, B ≤
입력의 첫 줄에는 테스트 케이스의 수 T가 주어진다. 이어서 T개의 테스트 케이스가 주어진다. 각 테스트 케이스는 네 줄로 이루어진다. 첫 줄에는 경기장의 높이와 너비를 나타내는 두 정수 A와 B가 주어진다. 둘째 줄에는 두 팀의 규모를 나타내는 두 정수 N과 M이 주어진다. N은 X = 0 벽에 패들이 있는 팀의 선수 수이고, M은 X = B 벽에 패들이 있는 팀의 선수 수이다. 셋째 줄에는 각각 첫 번째 팀과 두 번째 팀 선수들의 패들 속력을 나타내는 두 정수 V와 W가 주어진다. 넷째 줄에는 네 정수 Y, X, , 가 주어지며, 공의 초기 위치(수직 및 수평)와 초기 속도를 나타낸다(공은 튕기기 전까지 매초 위쪽으로 단위, 오른쪽으로 만큼 이동한다).
각 테스트 케이스마다 "Case #x: y"을 포함하는 한 줄을 출력한다. 여기서 x는 테스트 케이스 번호이며 (1부터 시작), y는 가능한 세 출력 중 하나이다. 경기가 영원히 계속될 수 있다면 "DRAW"이고, x = 0에 패들이 있는 팀이 이기며 상대 팀이 공을 최대 z번 쳐 낼 수 있다면 "LEFT z"이며, X = B에 패들이 있는 팀이 이기며 상대 팀이 공을 최대 z번 쳐 낼 수 있다면 "RIGHT z"이다.
4
6 4
1 2
3 1
5 1 4 8
12 3
3 1
2 3
1 1 2 4
12 3
1 3
3 1
1 1 2 4
12 2
1 2
10 2
3 1 13 4
Case #1: LEFT 2
Case #2: DRAW
Case #3: LEFT 3
Case #4: RIGHT 11

그림은 첫 번째 예제 케이스의 경기 진행을 보여 준다. 공은 시각 0.375에 오른쪽 벽에서 튕겨 나온다(예를 들어 첫 번째 RIGHT 선수가 자신의 패들을 그곳에 둔 채 움직이지 않는 것으로 공을 막는다). 그다음 0.875에 왼쪽 벽에서 튕겨 나오고(LEFT 선수가 공을 쳐 낸다), 시각 1.375에 다시 오른쪽 벽에서 튕겨 나오며(두 번째 RIGHT 선수가 튕기는 지점에 자신의 패들을 둘 수 있다), 다시 왼쪽 벽에서 튕겨 나온다(그곳에서 LEFT 선수가 간신히 제시간에 공을 받아 낸다. 그곳에 도달해야 하는 일 초 동안 거리 세 단위를 정확히 이동한다). 그 후 공은 첫 번째 RIGHT 선수가 도달하기에는 너무 먼 곳에서 오른쪽 벽에 부딪힌다. 두 번째 RIGHT 선수는 공을 받을 수 있지만, 규칙상 그렇게 할 수 없다는 점에 유의하라. 또한 RIGHT 팀에 선수가 하나 더 있었다면 그 선수가 공을 쳐 낼 수 있었고, 그러면 LEFT이 패배했을 것이라는 점에도 유의하라. 공이 너무 높은 곳으로 날아가서 유일한 LEFT 선수가 제시간에 그곳에 도달할 수 없기 때문이다.
Copyright Google LLC; sourced from the Google Coding Competitions Archive.
로그인 상태를 확인하는 중입니다.