시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
---|---|---|---|---|---|
2 초 | 1024 MB (추가 메모리 없음) | 416 | 264 | 165 | 65.737% |
성현이는 아래와 같은 방식으로 진행되는 2인용 게임인 Gravity Hackenbush를 만들어서 나정휘에게 선물로 줬다.
Gravity Hackenbush의 준비 과정은 다음과 같다.
Gravity Hackenbush의 게임은 다음과 같이 진행된다.
아래 그림은 Gravity Hackenbush에서 선을 하나 자른 뒤의 상태를 보여준다.
게임을 선물받은 나정휘는 난정휘와 함께 게임을 여러 번 플레이하면서 필승법을 찾아냈다. 마침 천하제일 코딩대회에 낼 문제가 부족했던 나정휘는 필승법을 찾는 문제를 대회에 출제하기로 했다.
게임의 초기 상태가 주어지면 나정휘와 난정휘가 모두 최선을 다해 플레이했을 때 누가 이기는지 구해보자. 나정휘가 1번 플레이어, 난정휘가 2번 플레이어다.
첫째 줄에 점과 선의 개수를 나타내는 정수 $N, M$이 공백으로 구분되어 주어진다. ($1 \leq N \leq 200\,000$, $0 \leq M \leq 500\,000$)
둘째 줄부터 $N$개의 줄에 $i$번 점의 좌표 $x_i, y_i$가 한 줄에 하나씩 공백으로 구분되어 주어진다. ($-10^9 \leq x_i \leq 10^9$, $0 \leq y_i \leq 10^9$)
다음 $M$개의 줄에 $i$번째 선이 연결하는 두 점의 번호 $v_i, w_i$와 색깔 $c_i$가 공백으로 구분되어 주어진다. ($1 \leq v_i,w_i \leq N$, $v_i \neq w_i$, $c_i$는 R 또는 G 또는 B)
두 점의 좌표는 모두 서로 다르고, 연결하는 두 점의 쌍이 동일한 선이 여러 개 주어지지 않는다. 또한, x축과 평행한 선은 주어지지 않는다.
처음에 모든 점들은 땅과 직간접적으로 연결되어 있다.
입력으로 주어지는 수는 모두 정수이다.
두 사람이 최선을 다해서 플레이할 때, 나정휘가 이긴다면 "jhnah917"
, 난정휘가 이긴다면 "jhnan917"
을 출력한다.
7 5 0 0 3 0 0 1 1 1 2 1 2 2 3 2 1 5 R 2 4 G 4 7 B 5 6 G 6 3 G
jhnah917
빨간 간선을 자르면 아래 그림과 같이 변한다.
10 10 -3 0 -4 2 -3 4 -2 5 3 0 2 2 3 3 5 4 4 6 5 2 1 2 G 1 3 R 2 3 G 3 4 R 5 6 R 6 7 G 7 8 B 7 9 B 8 9 B 7 10 G
jhnan917
지문에 나온 그림과 동일한 상태이다.
High School > 선린인터넷고등학교 > 제6회 천하제일 코딩대회 본선 A번