aoc2021/d8golf.hs
2021-12-08 17:25:59 +01:00

4 lines
358 B
Haskell

import Data.List
r(p,o)=map(\h->last(h:[p|h==o]))
main=interact$show.((,).sum.map(foldl1$(+).(10*))<*>length.filter(`elem`[1,4,7,8]).concat).map(drop 10.t.filter(<"|").words).lines
t z=head[p|q<-permutations['a'..'g'],Just p<-[mapM((`elemIndex`["012345","12","01346","01236","1256","02356","023456","012","0123456","012356"]).sort.($zip['0'..]q).foldr r)z]]