◂ 6 décembre 2015 ▸
Probably a Fire Hazard :
- codePartie1.py
- codePartie2.py
- differencesParties.diffy
- temps.txt
f = open('input.txt', 'r') # "turn on" et "turn off" a ete r f = open('input.txt', 'r') # "turn on" et "turn off" a ete r
linesOrig = list(map(str.strip, f.readlines())) linesOrig = list(map(str.strip, f.readlines()))
N = 1000 N = 1000
grid = N * [None] grid = N * [None]
for i in range(N): for i in range(N):
grid[i] = N * [False] # On perd un tout petit peu en Py | grid[i] = N * [0]
> increases = {'turn_on':1, 'turn_off':-1, 'toggle':2}
for line in linesOrig: for line in linesOrig:
tokens = line.split(' ') tokens = line.split(' ')
x1,y1 = map(int,tokens[1].split(',')) x1,y1 = map(int,tokens[1].split(','))
x2,y2 = map(int,tokens[3].split(',')) x2,y2 = map(int,tokens[3].split(','))
if tokens[0] == 'turn_on' or tokens[0] == 'turn_off': |
status = (tokens[0] == 'turn_on') | increase = increases[tokens[0]]
for x in range(x1, x2+1): <
for y in range(y1, y2+1): <
grid[x][y] = status <
else: <
for x in range(x1, x2+1): for x in range(x1, x2+1):
for y in range(y1, y2+1): for y in range(y1, y2+1):
grid[x][y] = not grid[x][y] | grid[x][y] = max(0, grid[x][y] + increase)
nb = 0 nb = 0
for x in range(N): for x in range(N):
nb += sum(grid[x]) nb += sum(grid[x])
print(nb) print(nb)