문제
세 개의 막대기로 시작하는 게임이 있다. 정올이와 한글이는 차례를 번갈아 진행하며, 매 차례에 막대기 제거와 막대기 분할을 수행한다. 규칙은 다음과 같다.
처음 세 막대기의 길이가 각각 정수
현재 차례의 플레이어는 아래 두 단계를 순서대로 반드시 수행해야 한다.
막대기 제거: 세 막대기 중 하나를 통째로 제거한다. (예: 길이가
a 인 막대기를 제거)막대기 분할: 남은 두 막대기 중 하나를 골라 두 개로 쪼갠다.
선택한 막대기의 길이가x 라면,x_1 + x_2 = x 를 만족하도록x_1 > 0, x_2 > 0 인 두 막대기로 정수 길이로 분할한다.주의:
x=1 인 막대기는 분할 불가.
위 두 단계 중 어느 것도 완료할 수 없게 되는 순간 그 플레이어는 즉시 패배하고, 상대가 승리한다.
(예: 시작이
두 사람 모두 최선을 다한다고 가정하고, 정올이가 차례를 먼저 시작한다고 하였을 때, 각 테스트 케이스에 대해 누가 이기는지 판단하는 프로그램을 작성하시오.
입력
첫 줄에 테스트 케이스 수
다음
출력
각 테스트 케이스마다 한 줄에 정올이가 이기면 J, 한글이가 이기면 H를 출력한다.
부분문제
| 번호 | 점수 | 조건 |
|---|---|---|
| #1 | 5점 | |
| #2 | 15점 | |
| #3 | 20점 | |
| #4 | 30점 | |
| #5 | 30점 | 추가 제약 조건 없음 |
예제
3
1 1 1
1 2 1
2 1 2
H
J
J
첫 번째: 정올이는 막대기 하나를 제거해도 남은 두 막대기가 모두 1이라 분할 불가 → 정올이 패, 한글이 승.
두 번째: 정올이가 길이
세 번째: