Minimum Spanning Tree by fox

import List
main=interact$f.sort.map(r.words).lines
r s=(0+read(s!!2),s)
f x=x#[[y]|y<-x>>=snd]
((_,v):w)#l=case[filter(elem t)l|t<-v]of[p:_,q:_,_]->unwords([head$show$p/=q]:v)++'\n':w#(union p q:l)
_#_=[]

Note that non-ascii characters in the above source code will be escaped (such as \x9f).

download

return to the top page