거리가 K인 정점


답안 제출

Points: 7
시간 제한: 2.0s
메모리 제한: 1G

문제 유형

정점이 \(N\)개이고 간선이 \(M\)개인 무방향 그래프가 있다. 정점의 번호는 \(1\)부터 \(N\)까지이다.

두 정점 사이의 거리는 한 정점에서 다른 정점으로 이동하는 최단 경로에 포함된 간선의 개수이다. 같은 정점 사이의 거리는 \(0\)이며, 서로 이동할 수 없는 두 정점 사이의 거리는 계산하지 않는다.

시작 정점 \(S\)로부터 거리가 정확히 \(K\)인 모든 정점을 구하여라.

입력

첫째 줄에 정점의 수 \(N\), 간선의 수 \(M\), 시작 정점 \(S\), 거리 \(K\)가 공백으로 구분되어 주어진다.

다음 \(M\)개의 줄에는 간선이 연결하는 두 정점 \(u\)와 \(v\)가 공백으로 구분되어 주어진다.

출력

시작 정점 \(S\)로부터 거리가 정확히 \(K\)인 정점을 번호가 작은 순서대로 한 줄에 하나씩 출력한다.

조건을 만족하는 정점이 없다면 -1을 출력한다.

제한

  • \(2 \le N \le 1,000\)
  • \(0 \le M \le \frac{N(N-1)}{2}\)
  • \(1 \le S \le N\)
  • \(0 \le K \le N-1\)
  • \(1 \le u,v \le N\)
  • \(u \ne v\)
  • 같은 두 정점을 연결하는 간선이 두 번 이상 주어지지 않는다.
  • 입력으로 주어지는 값은 모두 정수이다.

예제 입력 1

7 5 1 2
1 2
1 3
2 4
3 5
5 6

예제 출력 1

4
5

시작 정점 1에서 정점 4와 5까지 이동하려면 최소 두 개의 간선을 지나야 한다.

예제 입력 2

4 2 1 3
1 2
2 3

예제 출력 2

-1

코멘트

현재 작성된 코멘트가 없습니다.