Improved project structure.
This commit is contained in:
20
haskell/e067.hs
Normal file
20
haskell/e067.hs
Normal file
@@ -0,0 +1,20 @@
|
||||
easyTree = [[3], [7,4], [2,4,6], [8,5,9,3]]
|
||||
|
||||
parseToLists :: String -> [[Integer]]
|
||||
parseToLists = map (map read . words) . lines
|
||||
|
||||
maxPairs :: Ord a => [a] -> [a]
|
||||
maxPairs [x] = [x]
|
||||
maxPairs xs = zipWith max (init xs) (tail xs)
|
||||
|
||||
nextRow :: Num a => Ord a => [a] -> [a] -> [a]
|
||||
nextRow ls hs = zipWith (+) (maxPairs ls) hs
|
||||
|
||||
solveTree :: Num a => Ord a => [[a]] -> [a]
|
||||
solveTree xs = foldl nextRow y ys
|
||||
where (y:ys) = reverse xs
|
||||
|
||||
main = do
|
||||
s <- readFile "67.txt"
|
||||
let l = parseToLists s
|
||||
putStrLn . show . solveTree $ l
|
||||
Reference in New Issue
Block a user