| 
                        12345678910111213141516171819202122232425262728293031323334353637 | 
                        - import collections
 - import sys
 - 
 - from intcode import compute, parse
 - 
 - 
 - def arkanoid(text):
 -     grid = {}
 -     joy = []
 -     bot = compute(text, iter(joy))
 -     paddle_x = 0
 -     score = 0
 -     for x, y, tile_id in zip(bot, bot, bot):
 -         if [x, y] == [-1, 0]:
 -             score = tile_id
 -         else:
 -             grid[complex(x, y)] = tile_id
 -             if tile_id == 3:
 -                 paddle_x = x
 -             if tile_id == 4:
 -                 if x > paddle_x:
 -                     joy.append(1)
 -                 elif x < paddle_x:
 -                     joy.append(-1)
 -                 else:
 -                     joy.append(0)
 -     return grid, score
 - 
 - 
 - text = sys.stdin.read()
 - grid, _ = arkanoid(text)
 - print(collections.Counter(grid.values())[2])
 - 
 - ns = parse(text)
 - ns[0] = 2
 - _, score = arkanoid(ns)
 - print(score)
 
 
  |