아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

Gravity Hackenbush

시간 제한2초메모리 제한1024 MB

요약
바닥에 연결된 점과 빨강, 파랑, 초록 선분으로 이루어진 그래프에서 두 플레이어가 최적으로 자를 때 누가 이기는지 구합니다.
난이도

어려움10점 중 9점

유형
그래프, 게임 이론, DFS
정답자
아직 제출이 없습니다

문제

성현이는 Gravity Hackenbush라는 2인용 게임을 만들어 나정휘에게 선물했다.

Gravity Hackenbush의 준비 과정은 다음과 같다.

  1. 땅을 나타내는 직선 y=0y = 0을 그린다.
  2. NN개의 점을 찍는다. 땅보다 낮은 곳에는 점을 찍을 수 없다.
  3. 2번 과정에서 찍은 점 중 서로 다른 두 점을 잇는 MM개의 선을 그린다. 땅과 평행한 선은 그릴 수 없다.
  4. 각 선을 빨간색, 파란색, 초록색 중 하나로 칠한다.

게임은 다음과 같이 진행된다.

  1. 두 플레이어는 승부가 날 때까지 번갈아 턴을 가진다. 1번 플레이어가 먼저 시작한다.
  2. 각 플레이어는 특정 색깔의 선만 자를 수 있다.
    • 빨간색 선은 1번 플레이어만 자를 수 있다.
    • 파란색 선은 2번 플레이어만 자를 수 있다.
    • 초록색 선은 두 플레이어 모두 자를 수 있다.
  3. 자신의 턴에는 자를 수 있는 선 중 하나를 골라 자른다.
  4. 자신의 턴에 자를 수 있는 선이 없는 플레이어는 패배한다.
  5. 선을 자른 뒤, 땅과 직간접적으로 연결되지 않은 점과 선은 연결된 점 또는 선이 땅에 닿을 때까지 내려간다.
  6. 떨어지는 과정에서 연결되지 않은 점이나 선끼리 만나더라도 연결되지 않은 것으로 취급한다.

아래 그림은 선을 하나 자른 뒤의 상태를 보여준다.

나정휘는 난정휘와 함께 게임을 여러 번 플레이하며 필승법을 찾아냈다. 마침 천하제일 코딩대회에 낼 문제가 부족했던 나정휘는 그 필승법을 찾는 문제를 대회에 출제하기로 했다.

게임의 초기 상태가 주어지면, 두 사람이 최선을 다해 플레이했을 때 누가 이기는지 구하라. 나정휘가 1번 플레이어, 난정휘가 2번 플레이어다.

입력

첫째 줄에 점의 개수와 선의 개수를 나타내는 정수 NN, MM이 공백으로 구분되어 주어진다. (1≤N≤200,0001 \leq N \leq 200,000, 0≤M≤500,0000 \leq M \leq 500,000)

둘째 줄부터 NN개의 줄에 ii번 점의 좌표 xix_i, yiy_i가 한 줄에 하나씩 공백으로 구분되어 주어진다. (−109≤xi≤109-10^9 \leq x_i \leq 10^9, 0≤yi≤1090 \leq y_i \leq 10^9)

다음 MM개의 줄에 ii번째 선이 연결하는 두 점의 번호 viv_i, wiw_i와 색깔 cic_i가 공백으로 구분되어 주어진다. (1≤vi,wi≤N1 \leq v_i, w_i \leq N, vi≠wiv_i \neq w_i, cic_i는 R, G, B 중 하나)

두 점의 좌표는 모두 서로 다르다. 같은 두 점을 잇는 선이 여러 개 주어지지 않는다. x축과 평행한 선은 주어지지 않는다.

처음에 모든 점은 땅과 직간접적으로 연결되어 있다.

입력으로 주어지는 수는 모두 정수이다.

출력

두 사람이 최선을 다해 플레이할 때, 나정휘가 이기면 jhnah917, 난정휘가 이기면 jhnan917을 출력한다.

예제2

  1. 예제 1

    입력
    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
    
  2. 예제 2

    입력
    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