Topological Sort

Score: 111.54 (pass)

#!perl -n0
s/\S+$/$&
$& $&/gm;X:for$x(/\S+/g){/^(?!\Q$x\E ).+ \Q$x
/m or s/^\Q$x\E .*$//mg,(print"$x
"),goto X}/./&&&g

Score: 116.55 (pass)

#!perl -n0
s/\S+$/$&
$& $&/gm;X:for$x(/(.+) /mg){/^(?!\Q$x\E ).+ \Q$x\E$/m or s/^\Q$x\E .*$//mg,print("$x
"),goto X}/./&&&g

Score: 119.55 (pass)

#!perl -n0
s/\S+$/$&
$& $&/gm;X:{for$x(/^(.+) /mg){/^(?!\Q$x\E ).+ \Q$x\E$/m or s/^\Q$x\E .*$//mg,print("$x
"),redo X}/./&&&g}

Score: 125.52 (pass)

#!perl -alp
($,,$b)=@F;$l{$b}||=[];$,ne$b&&push@{$l{$,}},$b}while(%l){(($_)=grep{$*=$_;!grep$*eq$_,map@$_,%l}keys%l)?delete$l{$_}:&g

Score: 127.50 (pass)

#!perl -alp
($a,$b)=@F;$l{$b}||=[];push@{$l{$a}},$b if$a ne$b}while(%l){(($_)=grep{$*=$_;!grep$*eq$_,map@$_,%l}keys%l)?delete$l{$_}:&g

Score: 132.51 (pass)

#!perl -alp
$l{$F[1]}||=[];push@{$l{$F[0]}},$F[1]if$F[0]ne$F[1]}while(%l){($_)=grep{$*=$_;!grep{$*eq$_}map@$_,%l}keys%l
or die;delete$l{$_}

Score: 137.52 (pass)

#!perl -alp
@h{@F}=@F;push@{$l{$F[0]}},$F[1]if$F[0]ne$F[1]}while(%h){($_)=grep{$*=$_;!grep{$*eq$_}map{@$_}%l}%h or die;delete$l{$_};delete$h{$_}

Score: 145.47 (pass)

#!perl -alp
@h{@F}=@F;push@{$l{$F[0]}},$F[1]if$F[0]ne$F[1]}while(keys%h){($_)=grep{$*=$_;!grep{$*eq$_}map{@$_}%l}keys%h or die;delete$l{$_};delete$h{$_}