from collections import deque
import sys
N, M, K, X = map(int, sys.stdin.readline().split())
visited = [-1] * (N + 1)
visited[X] = 0
mapData = [[] for _ in range(N + 1)]
for i in range(M):
V1, V2 = map(int, sys.stdin.readline().split())
mapData[V1].append(V2)
que = deque([X])
while que:
now = que.popleft()
for nxt in mapData[now]:
if visited[nxt] == -1:
visited[nxt] = visited[now] + 1
que.append(nxt)
for i in range(N + 1):
if visited[i] == K:
print(i)
if K not in visited:
print(-1)
'Algorithm > BFS, DFS' 카테고리의 다른 글
[백준] 11725번 트리의 부모찾기 (0) | 2021.02.08 |
---|---|
[백준] 11725번 트리의 부모찾기 (0) | 2021.02.08 |
[백준] 12761번 돌다리 (0) | 2021.02.04 |
[백준] 12851번 숨바꼭질 2 (0) | 2020.12.04 |
[백준] 2206번 벽 부수고 이동하기 (0) | 2020.09.24 |
댓글