Guest User

Untitled

a guest
May 20th, 2018
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.42 KB | None | 0 0
  1. def find_paths(node, cities, path, distance):
  2. # Add way point
  3. path.append(node)
  4.  
  5.  
  6. # Fork paths for all possible cities not yet used
  7. for city in cities:
  8. if (city not in path) and (node in cities[city]):
  9. find_paths(city, dict(cities), list(path), distance)
  10.  
  11.  
  12. if __name__ == '__main__':
  13. cities = {
  14. 'Arad': {'Sibiu': 140, 'Timisoara': 118, 'Zerind': 75},
  15. 'Hirsova': {'Eforie': 86, 'Urziceni': 98},
  16. 'Bucharest': {'Fagaras': 211, 'Giurgiu': 90, 'Pitesti': 101, 'Urziceni': 85},
  17. 'Craiova': {'Drobeta': 120, 'Pitesti': 138, 'Rimnicu Vileea': 146},
  18. 'Drobeta': {'Craiova': 120, 'Mehadia': 75},
  19. 'Eforie': {'Hirsova': 86},
  20. 'Fagaras': {'Bucharest': 211, 'Sibiu': 99},
  21. 'Giurgiu': {'Bucharest': 90},
  22. 'Iasi': {'Neamt': 87, 'Vaslui': 92},
  23. 'Lugoj': {'Mehadia': 70, 'Timisoara': 111},
  24. 'Mehadia': {'Drobeta': 75, 'Lugoj': 70},
  25. 'Neamt': {'Iasi': 87},
  26. 'Oradea': {'Sibiu': 151, 'Zerind': 71},
  27. 'Pitesti': {'Bucharest': 101, 'Craiova': 138, 'Rimnicu Vileea': 97},
  28. 'Rimnicu Vileea': {'Craiova': 146, 'Pitesti': 97, 'Sibiu': 80},
  29. 'Sibiu': {'Arad': 140, 'Fagaras': 99, 'Oradea': 151, 'Rimnicu Vileea': 80},
  30. 'Timisoara': {'Arad': 118, 'Lugoj': 111},
  31. 'Urziceni': {'Bucharest': 85, 'Hirsova': 98, 'Vaslui': 142},
  32. 'Vaslui': {'Iasi': 92, 'Urziceni': 142},
  33. 'Zerind': {'Arad': 75, 'Oradea': 71}
  34. }
  35.  
  36. #print("Start: Neamt")
  37. find_paths('Neamt', cities, [], 0)
Add Comment
Please, Sign In to add comment