Topological Sort

Score: 106.49 (fail)

grrgble

#!perl -lna
@w{@F}=@F;push@g,"@F"}{&%if map{print,delete$w{$w},redo
if$w=$_,!grep/ \Q$w\E$/&&$`ne$w&&$w{$`},@g}%w

Score: 108.49 (pass)

#!perl -lna
@w{@F}=@F;push@g,$_}{&%if map{print,delete$w{$w},redo
if$w=$_,!grep/ \Q$w\E$/&&$`ne$w&&$w{$`}ne'',@g}%w

Score: 110.49 (pass)

pass the test, dammit

#!perl -lna
@w{@F}=@F;push@g,"@F"}{&%if map{print,delete$w{$w},redo
if$w=$_,!grep/ \Q$w\E$/&&$`ne$w&&$w{$`}ne'',@g}%w

Score: 111.51 (fail)

running out of steam time for a new approach, I think...

#!perl -lna
push@g,[@w{@F}=@F]}{&%if map{print,delete$w{$w},redo
if$w=$_,!grep$$_[0]ne$w&&$w{$$_[0]}&&$$_[1]eq$w,@g}%w

Score: 112.51 (fail)

#!perl -lna
push@g,[@w{@F}=@F]}{&f if map{print,delete$w{$w},redo
if$w=$_,!grep$$_[0]ne$w&&$w{$$_[0]}&&$$_[1]eq$w,@g}%w

Score: 117.49 (fail)

#!perl -lna
push@g,[@w{@F}=@F]}{(map{print,delete$w{$w},redo
if$w=$_,!grep{$$_[0]ne$w&&$w{$$_[0]}&&$$_[1]eq$w}@g}keys%w)&&&f

Score: 118.48 (fail)

#!perl -lna
push@g,[@w{@F}=@F]}{(map{print,delete$w{$w},redo
if$w=$_,!grep{$$_[0]ne$w&&$w{$$_[0]}&&$$_[1]eq$w}@g}keys%w)&&die

Score: 119.46 (fail)

death by stack overflow

#!perl -lna
push@g,[@w{@F}=@F]}&a;sub a{&a if
map{print,delete$w{$w}if$w=$_,!grep{$$_[0]ne$w&&$w{$$_[0]}&&$$_[1]eq$w}@g}keys%w

Score: 119.49 (fail)

#!perl -lna
push@g,[@w{@F}=@F]}{(map{print(delete$w{$w}),redo
if$w=$_,!grep{$$_[0]ne$w&&$w{$$_[0]}&&$$_[1]eq$w}@g}keys%w)&&die

Score: 126.45 (pass)

#!perl -lna
push@g,[@w{@F}=@F]}{(map{print(delete$w{$w}),redo
if$w=$_,!grep{$$_[0]ne$w&&exists$w{$$_[0]}&&$w eq$$_[1]}@g}keys%w)&&die

Score: 128.44 (pass)

#!perl -lna
push@g,[@w{@F}=@F]}O:{for$w(keys%w){print(delete$w{$w}),redo O
if!grep{$$_[0]ne$w&&exists$w{$$_[0]}&&$w eq$$_[1]}@g}%w&&die

Score: 132.45 (pass)

#!perl -lna
push@g,[@w{@F}=@F]}O:{for$w(keys%w){print(delete$w{$w}),redo O
if!grep{$$_[0]ne$$_[1]&&exists$w{$$_[0]}&&$w eq$$_[1]}@g}%w&&die

Score: 140.49 (pass)

#!perl -lna
($l,$r)=@F;$l
eq$r||++$g{$r}{$l};$g{$l}||={}}{map{if(!%{$g{$_}}){print;for$k(keys%g){delete$g{$k}{$_}}delete$g{$_};redo}}keys%g;%g&&die

Score: 153.49 (pass)

First pass

#!perl -lna
($l,$r)=@F;$l eq$r||++$g{$r}{$l};$g{$l}or$g{$l}={}}O:if(%g){for(keys%g){if(!%{$g{$_}}){print;for$k(keys%g){delete$g{$k}{$_}}delete$g{$_};goto O}}die