53 lines
1,021 B
Python
53 lines
1,021 B
Python
from lib import *
|
|
|
|
input = read_input(2019, 8)
|
|
|
|
wid = 25
|
|
hei = 6
|
|
|
|
layers = []
|
|
for i, c in enumerate(map(int, input.strip())):
|
|
if i % (wid * hei) == 0:
|
|
layers.append([])
|
|
if i % wid == 0:
|
|
layers[-1].append([])
|
|
layers[-1][-1].append(c)
|
|
|
|
|
|
def count(layer, digit):
|
|
return sum(d == digit for l in layer for d in l)
|
|
|
|
|
|
fewest = wid * hei
|
|
out = 0
|
|
for layer in layers:
|
|
cnt = count(layer, 0)
|
|
if cnt < fewest:
|
|
fewest = cnt
|
|
out = count(layer, 1) * count(layer, 2)
|
|
print(out)
|
|
|
|
|
|
wid = 25
|
|
hei = 6
|
|
|
|
layers = []
|
|
for i, c in enumerate(map(int, input.strip())):
|
|
if i % (wid * hei) == 0:
|
|
layers.append([])
|
|
if i % wid == 0:
|
|
layers[-1].append([])
|
|
layers[-1][-1].append(c)
|
|
|
|
out = []
|
|
for i in range(hei):
|
|
out.append([])
|
|
for j in range(wid):
|
|
d = 2
|
|
for layer in layers:
|
|
if layer[i][j] != 2:
|
|
d = layer[i][j]
|
|
break
|
|
out[-1].append(d)
|
|
for l in out:
|
|
print("".join(" #"[d] * 2 for d in l))
|