33 lines
638 B
Python
33 lines
638 B
Python
with open("input.txt") as f:
|
|
lines = [i.strip() for i in f.readlines()]
|
|
|
|
|
|
def count_digits(ar):
|
|
zeros = [0] * len(ar[0])
|
|
ones = [0] * len(ar[0])
|
|
|
|
for row in ar:
|
|
for pos, c in enumerate(row.strip()):
|
|
(zeros if c == "0" else ones)[pos] += 1
|
|
|
|
return zeros, ones
|
|
|
|
|
|
zeros, ones = count_digits(lines)
|
|
|
|
|
|
print(zeros)
|
|
print(ones)
|
|
|
|
# lol
|
|
gamma_bits = []
|
|
epsi_bits = []
|
|
|
|
for pos, zero in enumerate(zeros):
|
|
gamma_bits.append("1" if zero < ones[pos] else "0")
|
|
epsi_bits.append("1" if zero > ones[pos] else "0")
|
|
|
|
gamma = int("".join(gamma_bits), 2)
|
|
epsi = int("".join(epsi_bits), 2)
|
|
|
|
print(gamma * epsi) |