Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- input = open('input.txt', 'r')
- output = open('output.txt', 'w')
- n = int(input.readline().strip())
- prep_time = []
- speeds = []
- roads = {}
- for _ in range(n):
- t, v = map(int, input.readline().strip().split())
- prep_time.append(t)
- speeds.append(v)
- for _ in range(n - 1):
- a, b, s = map(int, input.readline().strip().split())
- roads.setdefault(a - 1, []).append((b - 1, s))
- roads.setdefault(b - 1, []).append((a - 1, s))
- full_graph = [[] for _ in range(n)]
- for city in range(1, n):
- full_graph[city] = bfs(roads, city, speeds, prep_time)
- latest_time = 0
- latest_path = []
- for city in range(1, n):
- travel_time, path = dijkstra(full_graph, city)
- if travel_time > latest_time:
- latest_time = travel_time
- latest_path = path
- print(f"{latest_time:.10f}", file=output)
- print(*latest_path, file=output)
- input.close()
- output.close()
Advertisement
Add Comment
Please, Sign In to add comment