diff options
Diffstat (limited to 'challenge-100/abigail/lua')
| -rw-r--r-- | challenge-100/abigail/lua/ch-2.lua | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/challenge-100/abigail/lua/ch-2.lua b/challenge-100/abigail/lua/ch-2.lua new file mode 100644 index 0000000000..d3e3b3b1d1 --- /dev/null +++ b/challenge-100/abigail/lua/ch-2.lua @@ -0,0 +1,41 @@ +#!/opt/local/bin/lua + +-- +-- See ../README.md +-- + +-- +-- Run as: lua ch-2.lua < input-file +-- + +local numbers = {} + +-- +-- Read in the data +-- +for line in io . lines () do + local row = {} + for n in line : gsub ("\n", "") : gmatch ("-?%d+") do + table . insert (row, n) + end + table . insert (numbers, row) +end + +-- +-- Calculate minimum path, bottom to top +-- +for x = #numbers - 1, 1, -1 do + local row = numbers [x] + for y = 1, #row do + min = numbers [x + 1] [y] + if numbers [x + 1] [y + 1] < min + then min = numbers [x + 1] [y + 1] + end + numbers [x] [y] = numbers [x] [y] + min + end +end + +-- +-- Print result +-- +print (numbers [1] [1]) |
