Advertisement
Guest User

Advent of Code 2024 Day 17 part 2

a guest
Dec 17th, 2024
285
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.76 KB | None | 0 0
  1. targets = [MY INPUT PROGRAM]
  2. answers = [[]]
  3.  
  4. for digit in range(16):
  5.     print("Finding digit %s" % (15 - digit + 1))
  6.     next_answers = []
  7.     for answer in answers:
  8.         print("Working from %s..." % answer)
  9.         poss = []
  10.         start = 0
  11.         for comp in answer:
  12.             start += comp
  13.             start *= 8
  14.         for trying in range(8):
  15.             A = start + trying
  16.             [CODE REPLICATING MY INPUT PROGRAM]
  17.             if B % 8 == targets[15 - digit]:
  18.                 poss.append(trying)
  19.                 print("Could be %s" % A)
  20.         for p in poss:
  21.             next_answers.append(answer + [p])
  22.         if not poss:
  23.             print("Binning that one.")
  24.    
  25.     answers = next_answers
  26.     print("%s live possibilities" % len(answers))
  27.  
  28. ans = []
  29. for answer in answers:
  30.     a = 0
  31.     for comp in answer:
  32.         a += comp
  33.         a <<= 3
  34.     ans.append(a//8)
  35.    
  36. print(min(ans))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement