|
|
|
|
|
|
|
|
|
|
|
import collections |
|
|
|
|
|
import sys |
|
|
|
|
|
|
|
|
|
|
|
from intcode import compute |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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]) |
|
|
|
|
|
|
|
|
|
|
|
_, score = arkanoid('2' + text[1:]) |
|
|
|
|
|
print(score) |