|
- 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)
|