만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

DAGame

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

요약
두 플레이어가 번갈아 DAG의 간선을 따라 말을 옮깁니다. 같은 색 말 두 개가 한 노드에 모이면 함께 움직입니다. 양측이 최선을 다할 때 이기는 쪽을 구합니다.
난이도

어려움10점 중 8점

유형
게임 이론, 동적 계획법, 그래프, 위상 정렬
정답자
아직 제출이 없습니다

문제

우영이와 현철이는 영철버거 돈 마리네 세트를 걸고 내기를 한다. 현철이는 다음과 같은 게임을 만들었다.

NN개의 노드와 MM개의 간선으로 이루어진 DAG(사이클이 없는 방향 그래프)가 있다. KK개의 말이 각각 노드 중 하나에 놓여 있다. 모든 노드에 놓을 수 있는 말의 개수에는 제한이 없다. 각 말은 색깔이 있으며, 색깔은 11 이상 NN 이하의 정수로 표현된다. 특정 색깔을 가진 말은 최대 두 개뿐이다. 우영이부터 차례를 번갈아 가며 다음 행동을 한다. 말 하나를 선택하고, 그래프에서 나가는 간선 하나를 골라 그 간선의 도착 노드로 옮긴다. 이때 같은 색깔의 말이 같은 노드에 놓이는 순간 두 말은 서로 업혀서, 그 뒤로는 함께 움직인다. 색이 다른 말끼리는 서로 영향을 주지 않는다. 게임 시작 전부터 말이 업혀 있을 수도 있다. 자기 차례에 행동할 수 없는 사람이 진다. 초기 그래프와 말의 정보가 주어질 때, 두 사람이 자기 차례에 최선을 다한다면 누가 이기는지 출력하시오.

입력

첫 번째 줄에 노드의 개수 NN (2≤N≤5002 \le N \le 500)과 간선의 개수 MM (1≤M≤100 0001 \le M \le 100\,000)이 주어진다.

두 번째 줄부터 MM개의 줄에 서로 다른 두 정수 pp, qq (1≤p1 \le p, q≤Nq \le N)가 주어지며, 이는 pp번 노드에서 qq번 노드로 가는 간선이 있다는 뜻이다. 같은 간선이 여러 번 주어질 수도 있다.

그 다음 줄에는 말의 개수 KK가 주어진다. (1≤K≤2⋅N1 \le K \le 2 \cdot N)

그 다음 줄부터 KK개의 줄에 두 정수 viv_i, cic_i (1≤i≤K1 \le i \le K)가 주어지며, 이는 ii번 말의 색깔이 cic_i이고 viv_i번 노드에 놓여 있다는 뜻이다. (1≤vi,ci≤N1 \le v_i, c_i \le N)

주어지는 그래프는 DAG임이 보장된다.

출력

우영이가 이기면 Young을, 현철이가 이기면 Cheol을 출력한다.

예제3

  1. 예제 1

    입력
    6 6
    1 2
    2 3
    3 4
    1 5
    5 4
    6 5
    2
    1 1
    6 2
    
    예상 출력
    Young
    
  2. 예제 2

    입력
    6 6
    1 2
    2 3
    3 4
    1 5
    5 4
    6 5
    2
    1 1
    6 1
    
    예상 출력
    Young
    
  3. 예제 3

    입력
    12 12
    1 2
    2 3
    3 4
    1 5
    5 4
    6 5
    7 8
    8 9
    9 10
    7 11
    11 10
    12 11
    4
    1 1
    6 1
    7 2
    12 2
    
    예상 출력
    Cheol