Guest User

Untitled

a guest
Dec 5th, 2019
250
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import sets
  2. import math
  3.  
  4. # results = sets.Set()
  5.  
  6. #def get_my_orbits(k, cur_count, orbit_map):
  7. #   if k in orbit_map:
  8. #       #print k
  9. #       return get_my_orbits(orbit_map[k], cur_count + 1, orbit_map)
  10. #   else:
  11. #       return cur_count
  12.  
  13. def get_orbs(k, orbit_map):
  14.     results = []
  15.     cur = k
  16.     while cur != 'COM':
  17.         results.append(cur)
  18.         cur = orbit_map[cur]
  19.     return results
  20.  
  21.  
  22. f = open('5_1_input.txt')
  23.  
  24. lines = f.readlines()
  25. print len(lines)
  26.  
  27. orbit_map = {}
  28.  
  29. for line in lines:
  30.     orbiting = line.split(')')[0]
  31.     orbiter = line.split(')')[1][:-1]
  32.     if orbiter in orbit_map:
  33.         print 'SHIT'
  34.         break
  35.     orbit_map[orbiter] = orbiting
  36.  
  37. #print len(orbit_map)
  38. #print orbit_map
  39.  
  40. #total = 0
  41. #for k in orbit_map:
  42. #   total += get_my_orbits(k, 0, orbit_map)
  43. #
  44. #print total
  45.  
  46. mine = get_orbs('YOU', orbit_map)
  47. santa = get_orbs('SAN', orbit_map)
  48.  
  49. print mine
  50. print santa
  51.  
  52. for i in range(2, len(mine)):
  53.     if mine[i] in santa:
  54.         print mine[i]
  55.         print i
  56.         print santa.index(mine[i])
  57.         print i + santa.index(mine[i]) - 2
  58.         break
RAW Paste Data