diff --git a/d13golf.hs b/d13golf.hs new file mode 100644 index 0000000..c65a1d5 --- /dev/null +++ b/d13golf.hs @@ -0,0 +1,10 @@ +import Data.List +a=map +p(x,_:y)=s(a(read.('(':).(++")"))x,a(((,).(!!0)<*>read.drop 2).drop 11)y) +m f=maximum.a f +d i=[[last$'.':['#'|(x,y)`elem`i]|x<-[0..m(fst)i]]|y<-[0..m(snd)i]] +x&n=n-abs(n-x) +i%('x',n)=a(\(x,y)->(x&n,y))i +i%('y',n)=a(fmap(&n))i +s(i,z)=scanl(%)i z +main=getContents>>=((>>).(mapM putStrLn.d.last)<*>(print.length.nub.(!!1))).p.break(==[]).lines