aoc2021/d12golf.hs
2021-12-14 02:43:07 +01:00

8 lines
No EOL
282 B
Haskell

import Data.List
z=filter
s="start"
w(a,b)=(b,a)
i%m=map snd$z((==i).fst)(m++map w m)
g c v f m|c=="end"=[[]]|let=map(c:)$(\x->g x(z(>"Z")$c:v)f m++[q|f,q<-g x v(2<1)m])=<<c%m\\v
v t=length.group.sort.g s[s]t
main=interact$show.((,).v(2>1)<*>v(2<1)).map(fmap tail.span(/='-')).lines