|
1234567891011121314151617181920212223242526 |
- import collections
- import sys
-
- from intcode import compute
-
- from toolkit import render
-
-
- def get_panels(ns, start):
- feedback = [start]
- iter_in = iter(feedback)
- robot = compute(ns, iter_in)
-
- pos, ori = 0, -1j
- panels = collections.defaultdict(int)
- for paint, instruction in zip(robot, robot):
- panels[pos] = paint
- ori *= 1j if instruction else -1j
- pos += ori
- feedback.append(panels[pos])
- return panels
-
-
- text = sys.stdin.read()
- print(len(get_panels(text, 0)))
- print(render(get_panels(text, 1), brush=' #'))
|