2018-12-15 15:00:57 +01:00

27 lines
617 B
Python
Executable File

#!/usr/bin/env python
def read_input():
with open('input.txt', 'r') as f:
data = f.read().splitlines()
return [ int(x) for x in data[0].split(" ")]
def get_node_meta(data, pos):
num_ch = data[pos]
num_m = data[pos+1]
len_ch = 0 # total length of children
meta = []
for ch in range(num_ch):
(ch_len, ch_meta) = get_node_meta(data, pos+2+len_ch)
len_ch += ch_len
meta = meta + ch_meta
meta = meta + data[pos+2+len_ch:pos+2+len_ch+num_m]
return (len_ch+2+num_m, meta)
tree = read_input()
(_, meta) = get_node_meta(tree, 0)
print(sum(meta))