Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

세상의 모든 알고리즘

[백준 18352번 python] 특정 거리의 도시 찾기 본문

python

[백준 18352번 python] 특정 거리의 도시 찾기

952hi 2021. 11. 4. 16:03

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

 

 

 

 

from collections import deque
import sys
input = sys.stdin.readline
n,m,k,x = map(int,input().split())
graph = [[] for _ in range(n+1)]
visited = [-1] * (n+1)
visited[x] = 0
for _ in range(m):
    a,b = map(int,input().split())
    graph[a].append(b)
q = deque([x])
while q:
    a = q.popleft()   
    for i in graph[a]:
        if visited[i] == -1 :
            q.append(i)
            visited[i] = visited[a] +1
for i in range(1,n+1):
    if k == visited[i]:
        print(i)
if k not in visited:
    print(-1)

 

간단한 BFS 탐색 문제라고 생각하고 몇번을 풀어도 시간초과라는 결과가 나와서

검색을 통해 sys.stdin.readline 구문을 사용해 input()사용을 했을때보다 시간을 절약해 풀 수 있었습니다.