12 lines
528 B
Python
Executable File
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))
|