diff --git a/d3golf.hs b/d3golf.hs index ad0c73d..ff26dcd 100644 --- a/d3golf.hs +++ b/d3golf.hs @@ -1,13 +1,10 @@ import Data.List +e=transpose +h=head +m=map +l=length d=foldr(\x y->2*y+x)0.reverse -v=(\i->i*(4095-i)).d.m -c q=read.pure.head.q.sortBy((.length).compare.length).group.sort -m=map(c head).transpose -startsWith d=filter((==d).pure.head) -mult f[[]]=[] -mult f xs=do - let i=c f$head$transpose xs - let s=map tail$startsWith(show i)xs - i:mult f s -t x=(d $ mult last x)*(d $ mult head x) -main=interact$show.((,).t<*>v).lines +c q=h.q.sortBy((.l).compare.l).group.sort +f%xs|xs==[[]]=[]|i<-c f$h$e xs=i:f%m tail((filter.(.h).(==))i xs) +t x=d(last%x)*d(h%x) +main=interact$show.((,).t<*>(\i->i*(4095-i)).d.m(c h).e).m(m((-48+).fromEnum)).lines \ No newline at end of file