<문제>
강철부대가 위치한 지역을 포함한 총지역의 수 n, 두 지역을 왕복할 수 있는 길 정보를 담은 2차원 정수 배열 roads, 각 부대원이 위치한 서로 다른 지역들을 나타내는 정수 배열 sources, 강철부대의 지역 destination이 주어졌을 때, 주어진 sources의 원소 순서대로 강철부대로 복귀할 수 있는 최단시간을 담은 배열을 return하는 solution 함수를 완성해주세요. 복귀가 불가능한 경우 해당 부대원의 최단시간은 -1입니다.
<코드>
from collections import deque
def solution(n, roads, sources, destination):
visit=[-1]*(n+1)
graph=[[] for _ in range(n+1)]
for s,e in roads:
graph[s].append(e)
graph[e].append(s)
queue=deque([destination])
visit[destination]=0
while queue:
now=queue.popleft()
for node in graph[now]:
if visit[node]==-1:
visit[node]=visit[now]+1
queue.append(node)
return [visit[i] for i in sources]