aoc2021/d14golf.hs

9 lines
No EOL
314 B
Haskell

import Data.List
l=readFile"d14small"
i :: [(String, Char)] -> String -> String
i r[x] = [x]
i r(a:b:x)|Just c<-lookup [a,b] r=a:c:i r(b:x)
parse :: String -> ([String],[(String, Char)])
parse = fmap (map((,).take 2<*>(!!6)).tail).break(==[]).lines
main=interact$show.length.(!!40).(\([x],r)->iterate(i r)x).parse