diff --git a/d14golf.hs b/d14golf.hs new file mode 100644 index 0000000..4d40961 --- /dev/null +++ b/d14golf.hs @@ -0,0 +1,9 @@ +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 \ No newline at end of file