123456789101112131415161718192021222324252627 |
- #!/usr/bin/ruby
- # Author: Daniel "Trizen" Șuteu
- # License: GPLv3
- # Website: https://github.com/trizen
- # Find the maximum total from top to bottom in triangle.txt, a 15K text file containing a triangle with one-hundred rows.
- # https://projecteuler.net/problem=67
- # Runtime: 0.273s
- var data = %f'p067_triangle.txt'.read
- var triangle = data.lines.map{.words.map{.to_i}}
- var sum = [0]
- triangle.each { |x|
- sum = [
- x[0] + sum[0],
- {|i| x[i] + max(sum[i-1, i]) }.map(1 ..^ x.end)...,
- x[-1] + sum[-1],
- ]
- }
- say sum.max
|