Maximum triangle path sum: Difference between revisions

Content added Content deleted
(Add Nimrod)
No edit summary
Line 318: Line 318:
</pre>
</pre>


=={{header|Nimrod}==
=={{header|Nimrod}}==
{{trans|Python}}
{{trans|Python}}
<lang nimrod>import strutils, sequtils
<lang nimrod>import strutils, future


proc solve(tri): int =
proc solve(tri): int =
var tri = tri
var tri = tri
while tri.len > 1:
while tri.len > 1:
let t0 = tri.pop()
let t0 = tri.pop
for i, t in tri[tri.high]: tri[tri.high][i] = max(t0[i], t0[i+1]) + t
let t1 = tri.pop()
tri.add newSeq[int]()
tri[0][0]
for i, t in t1: tri[tri.high].add max(t0[i], t0[i+1]) + t
return tri[0][0]


const data = """ 55
const data = """
55
94 48
94 48
95 30 96
95 30 96
Line 350: Line 349:
27 02 92 23 08 71 76 84 15 52 92 63 81 10 44 10 69 93"""
27 02 92 23 08 71 76 84 15 52 92 63 81 10 44 10 69 93"""


echo solve data.splitLines.map((x: string) => x.split.map parseInt)</lang>
var s = newSeq[seq[int]]()
for row in data.splitLines(): s.add row.split().map(parseInt)
echo solve(s)</lang>
Output:
Output:
<pre>1320</pre>
<pre>1320</pre>