[백준 18352번] 특정 거리의 도시 찾기
Dijkstra 최단 경로 알고리즘 사용 import sys import heapq input=sys.stdin.readline INF=int(1e9) # 도시의 개수, 도로의 개수, 거리 정보, 출발 도시 n, m, k, x = map(int, input().split()) graph = [[] for _ in range(n+1)] distance = [INF]*(n+1) for _ in range(m): a, b= map(int, input().split()) # a에서 부터 b까지 가는 거리는 1 graph[a].append((b, 1)) def dijkstra(start): q = [] heapq.heappush(q, (0, start)) distance[start] = 0 while q: dis..
2021. 3. 10.
전보
p. 262 import sys import heapq input=sys.stdin.readline INF=int(1e9) # 도시의 개수, 통로의 개수, 출발 도시 n, m, c = map(int, input().split()) time=[INF] * (n+1) graph=[[] for _ in range(n+1)] for i in range(m): # 도시 x부터 도시 y까지 이어지는 통로가 있으며, 전달되는 시간은 z x,y,z=map(int, input().split()) graph[x].append((y,z)) def dijkstra(start): q=[] heapq.heappush(q, (0, start)) while q: dist, now = heapq.heappop(q) if dist > ..
2021. 3. 10.
미래 도시
import sys input=sys.stdin.readline INF=int(1e9) # 전체 회사 개수, 경로의 개수 n, m = map(int, input().split()) graph = [[INF]*(n+1) for _ in range(n+1)] for i in range(1, n+1): graph[i][i]=0 for i in range(m): a, b=map(int, input().split()) graph[a][b]=1 graph[b][a]=1 # 목적 노드, 거쳐가는 노드 x, k = map(int, input().split()) for _k in range(1, n+1): for a in range(1, n+1): for b in range(1, n+1): graph[a][b] = mi..
2021. 3. 9.