27 lines
541 B
Python

inf = float('inf')
def count(a: list[list[int]], i: int, j: int) -> list[int]:
if a[i][j] > 100 and a[i][j] < 500 or a[i][j] < 0 and a[i][j] > -400:
return [0, inf]
t, l = [0, inf], [0, inf]
summ = a[i][j]
if i > 0:
t = count(a, i-1, j)
if j > 0:
l = count(a, i, j-1)
# minn = min(t[1], l[1])
return [summ + max(t[0], l[0]), summ + min(t[1], l[1])]
with open("dat/18-13.csv", 'r') as f:
a = [[int(i) for i in row.split(';')] for row in f.readlines()]
print(count(a, len(a) - 1, len(a[0]) - 1))
# 1535