adventofcode

https://adventofcode.com/
Log | Files | Refs

puzzle6.py (593B)


      1 with open('files/puzzle6.txt') as f:
      2     memory_banks = [int(i) for i in f.read().split('t')]
      3 
      4 cycles = 0
      5 my_map = {}
      6 
      7 while "".join([str(bank) for bank in memory_banks]) not in my_map:
      8     my_map["".join([str(bank) for bank in memory_banks])] = cycles
      9 
     10     for idx, bank in enumerate(memory_banks):
     11         if bank == max(memory_banks):
     12             memory_banks[idx] = 0
     13             for i in range(bank):
     14                 memory_banks[(i + idx + 1) % len(memory_banks)] += 1
     15             break
     16     cycles += 1
     17 
     18 print cycles
     19 print cycles - my_map["".join([str(bank) for bank in memory_banks])]