51 lines
962 B
Python
51 lines
962 B
Python
#!/usr/bin/python3
|
|
|
|
from timeit import default_timer
|
|
|
|
def sum_triangle(triang, n, i, j, sum_):
|
|
global max_
|
|
|
|
if i == n:
|
|
if sum_ > max_:
|
|
max_ = sum_
|
|
return max_
|
|
|
|
sum_triangle(triang, n, i+1, j, sum_+triang[i][j])
|
|
sum_triangle(triang, n, i+1, j+1, sum_+triang[i][j])
|
|
|
|
def main():
|
|
global max_
|
|
|
|
start = default_timer()
|
|
|
|
try:
|
|
fp = open('triang.txt', 'r')
|
|
except:
|
|
print('Error while opening file {}'.format('triang.txt'))
|
|
exit(1)
|
|
|
|
triang = list()
|
|
|
|
for line in fp:
|
|
triang.append(line.strip('\n').split())
|
|
|
|
fp.close()
|
|
|
|
l = len(triang)
|
|
|
|
for i in range(l):
|
|
triang[i] = list(map(int, triang[i]))
|
|
|
|
max_ = 0
|
|
sum_triangle(triang, 15, 0, 0, 0)
|
|
|
|
end = default_timer()
|
|
|
|
print('Project Euler, Problem 18')
|
|
print('Answer: {}'.format(max_))
|
|
|
|
print('Elapsed time: {:.9f} seconds'.format(end - start))
|
|
|
|
if __name__ == '__main__':
|
|
main()
|