1
0
Fork 0
adventofcode/2015/6/light2.py

12 lines
528 B
Python
Executable File

#!/usr/bin/env python3
import sys, re
pattern = re.compile(r"(.+) ([0-9]+),([0-9]+) through ([0-9]+),([0-9]+)")
instructions = [pattern.search(line.strip()).groups() for line in sys.stdin.readlines()]
lights = [[0] * 1000 for _ in range(1000)]
diff = {'turn on': 1, 'turn off': -1, 'toggle': 2}
for ins in instructions:
for x in range(int(ins[1]), int(ins[3]) + 1):
for y in range(int(ins[2]), int(ins[4]) + 1):
lights[x][y] = max(0, lights[x][y] + diff[ins[0]])
print(sum(sum(line) for line in lights))