만드는 중입니다

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

커모드 곰의 연어 사냥

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

요약
두 곰이 번갈아 연어를 놓습니다. 연어가 있는 정점에서 단순 경로가 하나뿐인 빈 정점에 연어를 놓으며, 더 놓을 수 없는 곰을 가립니다.
난이도

어려움10점 중 8점

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

문제

NN개의 정점과 MM개의 간선으로 이루어진 그래프 GG가 주어진다. 정점에는 11부터 NN까지 번호가 매겨져 있고, 그중 KK개의 정점에는 연어가 놓여 있다. ii번 간선은 정점 uiu_i와 정점 viv_i를 양방향으로 잇는다.

연어가 놓인 정점 uu에 대해 SuS_u는 다음 조건을 모두 만족하는 정점 vv의 집합이다.

  • 정점 vv에는 연어가 놓여 있지 않다.
  • 정점 uu와 정점 vv를 잇는 단순경로가 유일하게 존재한다.

단순경로는 같은 정점을 두 번 지나지 않는 경로이다. 정점 uu에는 연어가 있어야 하고 정점 vv에는 없어야 한다. 경로의 나머지 정점에는 연어가 있어도 되고 없어도 된다.

흰곰과 흑곰이 번갈아 가며 게임을 한다. 자신의 차례에는 다음 두 단계를 따른다.

  1. 연어가 놓인 정점 uu를 하나 고른다.
  2. SuS_u에서 정점을 하나 이상 골라 그 정점들에 연어를 올려놓는다.

더 이상 연어를 놓을 수 없으면 게임이 끝난다. 연어가 부족해서 정점에 연어를 놓지 못하는 일은 생기지 않는다. 자신의 차례에 연어를 놓지 못한 곰은 상대에게 맛있는 연어를 주고 자신은 맛없는 연어를 먹는다.

두 곰은 모두 맛있는 연어를 먹고 싶어 하므로 항상 최선의 선택을 한다. 어떤 곰이 맛있는 연어를 먹는지 구하라.

입력

첫 줄에 정점의 개수 NN, 간선의 개수 MM, 연어가 놓인 정점의 개수 KK가 공백으로 구분되어 주어진다. (2≤N≤2×105;(2\le N\le 2\times 10^5; 1≤M≤min⁡((N2),2×105);1\le M\le\min\left({N\choose 2},2\times 10^5\right); 1≤K≤N)1\le K\le N)

다음 MM개의 줄에 간선 정보 uiu_i, viv_i가 공백으로 구분되어 주어진다. (1≤ui<vi≤N)(1\le u_i<v_i\le N) i≠ji\ne j이면 (ui,vi)≠(uj,vj)(u_i,v_i)\ne(u_j,v_j)이다.

다음 KK개의 줄에 연어가 놓인 정점 xix_i가 주어진다. (1≤xi≤N)(1\le x_i\le N) i≠ji\ne j이면 xi≠xjx_i\ne x_j이다.

마지막 줄에는 게임을 먼저 시작하는 곰을 나타내는 정수 cc가 주어진다. (c∈{0,1})(c\in\{0,1\}) c=0c=0이면 흰곰이 먼저, c=1c=1이면 흑곰이 먼저 시작한다.

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

출력

첫 줄에 맛있는 연어를 먹는 곰을 출력한다. 흰곰이 먹으면 00, 흑곰이 먹으면 11을 출력한다.

예제1

  1. 예제 1

    입력
    8 7 3
    1 2
    2 3
    3 4
    2 4
    4 5
    5 6
    5 8
    2
    7
    5
    0
    
    예상 출력
    0