Skip to content

Instantly share code, notes, and snippets.

@lwiecek
Created December 20, 2015 23:52
Show Gist options
  • Save lwiecek/1aa0d37ea5f1ab560084 to your computer and use it in GitHub Desktop.
Save lwiecek/1aa0d37ea5f1ab560084 to your computer and use it in GitHub Desktop.
day9
import itertools
from collections import defaultdict
dist = defaultdict(lambda: float('inf'))
cities = set()
with open('input9.txt') as f:
for line in f:
frags = line.strip().split()
src_dest = frags[0], frags[2]
dist[frozenset(src_dest)] = int(frags[4])
cities.update(src_dest)
def distances():
for perm in itertools.permutations(cities):
yield sum(dist[frozenset(pair)] for pair in zip(perm, perm[1:]))
distances = list(distances())
print(min(distances)) # part one
print(max(distances)) # part two
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment