10 lines
365 B
Haskell
10 lines
365 B
Haskell
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
|