Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def find_paths(node, cities, path, distance):
- # Add way point
- path.append(node)
- # Fork paths for all possible cities not yet used
- for city in cities:
- if (city not in path) and (node in cities[city]):
- find_paths(city, dict(cities), list(path), distance)
- if __name__ == '__main__':
- cities = {
- 'Arad': {'Sibiu': 140, 'Timisoara': 118, 'Zerind': 75},
- 'Hirsova': {'Eforie': 86, 'Urziceni': 98},
- 'Bucharest': {'Fagaras': 211, 'Giurgiu': 90, 'Pitesti': 101, 'Urziceni': 85},
- 'Craiova': {'Drobeta': 120, 'Pitesti': 138, 'Rimnicu Vileea': 146},
- 'Drobeta': {'Craiova': 120, 'Mehadia': 75},
- 'Eforie': {'Hirsova': 86},
- 'Fagaras': {'Bucharest': 211, 'Sibiu': 99},
- 'Giurgiu': {'Bucharest': 90},
- 'Iasi': {'Neamt': 87, 'Vaslui': 92},
- 'Lugoj': {'Mehadia': 70, 'Timisoara': 111},
- 'Mehadia': {'Drobeta': 75, 'Lugoj': 70},
- 'Neamt': {'Iasi': 87},
- 'Oradea': {'Sibiu': 151, 'Zerind': 71},
- 'Pitesti': {'Bucharest': 101, 'Craiova': 138, 'Rimnicu Vileea': 97},
- 'Rimnicu Vileea': {'Craiova': 146, 'Pitesti': 97, 'Sibiu': 80},
- 'Sibiu': {'Arad': 140, 'Fagaras': 99, 'Oradea': 151, 'Rimnicu Vileea': 80},
- 'Timisoara': {'Arad': 118, 'Lugoj': 111},
- 'Urziceni': {'Bucharest': 85, 'Hirsova': 98, 'Vaslui': 142},
- 'Vaslui': {'Iasi': 92, 'Urziceni': 142},
- 'Zerind': {'Arad': 75, 'Oradea': 71}
- }
- #print("Start: Neamt")
- find_paths('Neamt', cities, [], 0)
Add Comment
Please, Sign In to add comment