No Rules Rules

특정 거리의 도시 찾기 (feat. 백준, 18352번) 본문

생활/코테

특정 거리의 도시 찾기 (feat. 백준, 18352번)

개발하는 완두콩 2022. 7. 23. 20:59
728x90
반응형

특정 거리의 도시 찾기
https://www.acmicpc.net/problem/18352

 

18352번: 특정 거리의 도시 찾기

첫째 줄에 도시의 개수 N, 도로의 개수 M, 거리 정보 K, 출발 도시의 번호 X가 주어진다. (2 ≤ N ≤ 300,000, 1 ≤ M ≤ 1,000,000, 1 ≤ K ≤ 300,000, 1 ≤ X ≤ N) 둘째 줄부터 M개의 줄에 걸쳐서 두 개

www.acmicpc.net

반응형
# woohyeon.kim
from collections import deque

N, M, K, X = map(int, input().split())
arr = [[] for _ in range(N + 1)]
for _ in range(M):
  f, t = map(int, input().split())
  arr[f].append(t)
node = [-1] * (N + 1)

def bfs(x):
  node[X] = 0
  q = deque()
  q.append(X)

  while q:
    fn = q.popleft()
    for tn in arr[fn]:
      if node[tn] == -1:
        node[tn] = node[fn] + 1
        q.append(tn)
  
bfs(X)

result = []
for idx in range(len(node)):
  if node[idx] == K:
    result.append(idx)
    
if len(result) == 0:
  print(-1)
else:
  for r in result:
    print(r)
# *&)*@*

시간 초과가 계속 떠서 애먹었다고 합니다....

728x90
반응형
Comments