30 lines
521 B
Python
30 lines
521 B
Python
def count(a, i, j):
|
|
if j == len(a[0])-1:
|
|
return [a[i][j], a[i][j]]
|
|
|
|
M, m = count(a, i, j+1)
|
|
|
|
res1, res2 = [M, m], [M, m]
|
|
|
|
if i > 0:
|
|
res1 = count(a, i-1, j+1)
|
|
|
|
if i < len(a)-1:
|
|
res2 = count(a, i+1, j+1)
|
|
|
|
return a[i][j] + max(M, res1[0], res2[0]), a[i][j] + min(m, res1[1], res2[1])
|
|
|
|
|
|
a = [[int(i) for i in row.split(';')] for row in open('dat/18-0.csv', 'r')]
|
|
|
|
M, m = 0, float('inf')
|
|
|
|
for i in range(len(a)):
|
|
res = count(a, i, 0)
|
|
M = max(M, res[0])
|
|
m = min(m, res[1])
|
|
|
|
print(M, m)
|
|
|
|
# 785 176
|