시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
---|---|---|---|---|---|
2 초 | 128 MB | 103 | 20 | 9 | 15.517% |
Nils와 Mikael은 곱하기 게임을 하고 있다. 이 게임은 K(1 ≤ K ≤ 6)개의 카드와 한 개의 실수 X(1 < X < 10,000)를 가지고 진행된다. 각각의 카드에는 0.9 이하의 양의 실수가 적혀 있고, 두 사람은 이 카드를 함께 사용하게 된다.
게임은 두 사람이 번갈아가며 진행하는데, 각 턴에서 각 사람은 한 장의 카드를 선택할 수 있다. 카드를 선택하면 그 카드에 적혀 있는 실수를 X에 곱해서 새로운 X를 얻게 된다. 그러면 그 다음 사람도 한 장의 카드를 선택하고, 그 카드에 적혀 있는 실수를 이전 단계에서 만들어진 X에 곱하고, 또 새로운 X를 얻게 된다. 카드를 선택할 때에는 K개의 카드 중에서 반드시 하나를 선택해야 하며, 이전 단계에서 사용되었던 카드도 얼마든지 선택할 수 있다.
이와 같이 게임이 진행되면, 실수 X의 값이 점점 줄어들게 된다. 이와 같이 X를 줄여 나가다가, 먼저 X가 1 이하가 되도록 만드는 사람이 이 게임의 승자가 된다.
게임은 Nils가 먼저 시작하게 된다. 두 사람은 모두 이 게임에 익숙하기 때문에, 각 단계에서 최선을 다해 게임을 진행하게 된다. 이러한 상황에서 이 게임의 승자를 가려내는 프로그램을 작성하시오.
실수 연산을 하다 보면 오차(rounding-error)가 발생할 수 있는데, 채점을 할 때에는 이러한 문제가 생기는 입력 데이터는 사용하지 않는다. 즉, 입력 값을 미세하게 조절했을 때 답이 바뀌는 경우는 입력으로 주어지지 않는다.
첫째 줄에 채점 데이터의 개수 T(1 ≤ T ≤ 55)가 주어진다. 다음 T개의 줄에는 각 데이터가 주어진다. 먼저 실수 X와 정수 K가 주어지고, 다음에는 각 카드에 적혀있는 실수들이 K개 주어진다. 각 실수들은 유효 숫자가 6개를 넘지 않는다.
각각의 데이터에 대해 승자를 출력한다.
4 6 2 0.25 0.5 10 2 0.25 0.5 29.29 4 0.3 0.7 0.43 0.54 29.30 4 0.3 0.7 0.43 0.54
Mikael Nils Nils Mikael