Darveivoldavara

algorithm_body

Nov 17th, 2023 (edited)
743
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.88 KB | None | 0 0
  1. input = open('input.txt', 'r')
  2. output = open('output.txt', 'w')
  3.  
  4. n = int(input.readline().strip())
  5. prep_time = []
  6. speeds = []
  7. roads = {}
  8.  
  9. for _ in range(n):
  10.     t, v = map(int, input.readline().strip().split())
  11.     prep_time.append(t)
  12.     speeds.append(v)
  13.  
  14. for _ in range(n - 1):
  15.     a, b, s = map(int, input.readline().strip().split())
  16.     roads.setdefault(a - 1, []).append((b - 1, s))
  17.     roads.setdefault(b - 1, []).append((a - 1, s))
  18.  
  19. full_graph = [[] for _ in range(n)]
  20. for city in range(1, n):
  21.     full_graph[city] = bfs(roads, city, speeds, prep_time)
  22.  
  23. latest_time = 0
  24. latest_path = []
  25.  
  26. for city in range(1, n):
  27.     travel_time, path = dijkstra(full_graph, city)
  28.     if travel_time > latest_time:
  29.         latest_time = travel_time
  30.         latest_path = path
  31.  
  32. print(f"{latest_time:.10f}", file=output)
  33. print(*latest_path, file=output)
  34.  
  35. input.close()
  36. output.close()
Advertisement
Add Comment
Please, Sign In to add comment