Day 3: 294

This commit is contained in:
Christoph Stahl 2021-12-03 21:17:12 +01:00
parent 049d6ac9e9
commit 55c313e857

View file

@ -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