diff --git a/day5.hs b/day5.hs index 6d8b809..4d07cfd 100644 --- a/day5.hs +++ b/day5.hs @@ -1,12 +1,11 @@ import Data.List m=map z=splitAt -f=filter(>'@') x%[i,s,t]=u t$d i s x i(_:x:y)=read x:i y;i _=[] t(_:a:_:_:x)=a:t x;t(_:a:x)=[a] u s(a,x)|(t,r:d)<-z(s-1)x=t++(a++r):d -x#[i,s,t]|i<1=x|let=(x%[1,s,t])#[i-1,s,t] -q r(a,_:b)=foldl r(m f$t$transpose a)$m(i.words)b +x#[i,s,t]|i<1=x|let=x%[1,s,t]#[i-1,s,t] +q r(a,_:b)=foldl r(m(filter(>'@'))$t$transpose a)$m(i.words)b d n s x|(t,v:d)<-z(s-1)x,(h,r)<-z n v=(h,t++(r:d)) main=interact$show.(\i->m(m head.($i))[q(#),q(%)]).span(/=[]).lines