8 lines
No EOL
340 B
Haskell
8 lines
No EOL
340 B
Haskell
import Data.List
|
|
m=map;(!)=splitAt
|
|
p[s,_,t]=m(m read.(&','))[s,t]
|
|
v[[a,b],[c,d]]=a==c||b==d
|
|
a&x|(u,_:v)<-break(==x)a=u:v&x|let=[a]
|
|
n[[x,y],[a,b]]|x/=a||y/=b=(x,y):n[[(x?a),(y?b)],[a,b]]|let=[(x,y)]
|
|
x1?x2|x1>x2=x1-1|x1<x2=x1+1|let=x1
|
|
main=interact$show.m(length.filter (>1).map length.group.sort.(n=<<)).(\x->[x,filter v x]).m(p.words).lines |