adventofcode

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

puzzle12.py (692B)


      1 with open('files/puzzle12.txt') as f:
      2     programs = f.readlines()
      3 
      4 my_dict = {}
      5 network = []
      6 
      7 for program in programs:
      8     tokens = program.split(" ")
      9     my_dict[tokens[0]] = [tokens[i][:len(tokens[i]) - 1] for i in range(2, len(tokens))]
     10 
     11 def traverse(recipients):
     12     for recipient in recipients:
     13         if recipient not in network:
     14             network.append(recipient)
     15             traverse(my_dict[recipient])
     16 
     17 traverse(my_dict["0"])
     18 print len(network)
     19 
     20 size_of_network = len(network)
     21 network_count = 1
     22 
     23 for program in my_dict.values():
     24     traverse(program)
     25     if len(network) > size_of_network:
     26         size_of_network = len(network)
     27         network_count += 1
     28 
     29 print network_count