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

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

열대 식물원

시간 제한5초메모리 제한256 MB

요약
각 연못에서 가장 아름다운 길부터 이용하되 바로 전에 쓴 길은 피하는 결정적 이동 규칙을 따를 때, 정확히 K번 이동한 뒤 연못 P에 도착하는 시작 연못의 수를 여러 K에 대해 구한다.
난이도

어려움10점 중 9점

유형
그래프, 시뮬레이션, 수학, 정수론
정답자
아직 제출이 없습니다

문제

식물학자 철수는 여러 반의 학생들과 함께 거대한 열대 식물원을 방문한다. 이 식물원은 00번부터 N−1N-1번까지 번호가 붙은 NN개의 연못과, 00번부터 M−1M-1번까지 번호가 붙은 MM개의 산책로로 이루어져 있다. 각 산책로는 서로 다른 두 연못을 연결하며 양방향으로 오갈 수 있다. 모든 연못에는 최소한 하나의 산책로가 연결되어 있고, 어떤 두 연못 사이에도 산책로는 많아야 하나뿐이다.

산책로의 번호는 아름다운 정도가 큰 순서대로 매겨져 있다. 즉 모든 i (0≤i<M−1)i\ (0 \le i < M-1)에 대해 산책로 ii는 산책로 i+1i+1보다 더 아름답다. 철수는 식물학자여서 두 산책로의 아름다움이 완전히 같은 경우는 없다.

철수와 학생들은 다음 규칙으로 이동한다. 현재 있는 연못에서는 언제나 가장 아름다운 산책로를 골라 이동한다. 다만 그 산책로를 바로 직전 이동에서 사용했다면, 대신 두 번째로 아름다운 산책로를 사용한다. 단, 현재 연못에 연결된 산책로가 하나뿐이라면 두 번째 산책로가 없으므로 방금 사용한 산책로를 그대로 다시 사용한다. (출발할 때에는 아직 사용한 산책로가 없으므로 항상 가장 아름다운 산책로로 출발한다.)

이 이동 규칙은 결정적이다. 즉, 출발 연못 하나를 정하면 이후의 경로가 유일하게 정해진다.

학생들은 연못 PP 옆의 고급 식당에서 점심을 먹고 싶어 한다. 각 반은 정확히 KK개의 산책로를 지난 뒤 배가 고파지며, 그 순간 반드시 연못 PP에 도착해 있어야 한다. 반마다 KK 값은 다를 수 있다.

NN개의 연못을 각각 출발점으로 삼을 수 있을 때, 정확히 KK개의 산책로를 이용한 뒤 연못 PP에 도착하는 서로 다른 경로가 몇 개인지 구하여라. 각 출발 연못은 유일한 경로 하나를 만들므로, 이는 곧 그러한 출발 연못의 개수와 같다. 도중에 연못 PP를 지나쳐도 되지만, KK번째 산책로를 지난 직후에는 반드시 PP에 있어야 한다.

QQ개의 반, 즉 QQ개의 KK 값 각각에 대해 답을 구한다.

입력

첫째 줄에 세 정수 NN, MM, PP가 공백으로 구분되어 주어진다.

다음 MM개의 줄 중 ii번째 줄(0≤i<M0 \le i < M)에는 산책로 ii가 연결하는 두 연못의 번호가 주어진다. 산책로는 아름다운 순서대로, 즉 더 아름다운 산책로가 먼저 주어진다.

그다음 줄에는 반의 수 QQ가 주어지고, 이어지는 QQ개의 줄에는 각 반의 KK 값이 한 줄에 하나씩 주어진다.

출력

각 반에 대해, 정확히 KK개의 산책로를 이용하여 연못 PP에 도착하는 서로 다른 경로(출발 연못)의 개수를 한 줄에 하나씩 입력 순서대로 출력한다. 가능한 경로가 없으면 00을 출력한다.

예제2

  1. 예제 1

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

    입력
    5 5 2
    1 0
    1 2
    3 2
    1 3
    4 2
    2
    3
    1
    
    예상 출력
    1
    2