Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import sets
- import math
- # results = sets.Set()
- #def get_my_orbits(k, cur_count, orbit_map):
- # if k in orbit_map:
- # #print k
- # return get_my_orbits(orbit_map[k], cur_count + 1, orbit_map)
- # else:
- # return cur_count
- def get_orbs(k, orbit_map):
- results = []
- cur = k
- while cur != 'COM':
- results.append(cur)
- cur = orbit_map[cur]
- return results
- f = open('5_1_input.txt')
- lines = f.readlines()
- print len(lines)
- orbit_map = {}
- for line in lines:
- orbiting = line.split(')')[0]
- orbiter = line.split(')')[1][:-1]
- if orbiter in orbit_map:
- print 'SHIT'
- break
- orbit_map[orbiter] = orbiting
- #print len(orbit_map)
- #print orbit_map
- #total = 0
- #for k in orbit_map:
- # total += get_my_orbits(k, 0, orbit_map)
- #
- #print total
- mine = get_orbs('YOU', orbit_map)
- santa = get_orbs('SAN', orbit_map)
- print mine
- print santa
- for i in range(2, len(mine)):
- if mine[i] in santa:
- print mine[i]
- print i
- print santa.index(mine[i])
- print i + santa.index(mine[i]) - 2
- break
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement