Topological Sort

Score: 152.50 (pass)

#!perl -lna
@v{($@,$b)=@F}=0;push@{$e{$@}},$@ne$b?$b:()}sub d{my($x,$o)=@_;$r{$x}++&¨$o+=1+d($_)for@{$e{$x}};$r{$x}--;$o}map print,sort{d($b)- d$a}keys%v;{

Score: 169.50 (pass)

this one's a lot faster...

#!perl -lna
@v{($@,$b)=@F}=0;$e{$@}{$b}++if$@ne$b}sub d{$r{$_}++&&die,$o{$_}||=1+(sort{$b-$a}map d($_),keys%{$e{$_}})[0],$r{$_}--for@_;@o{@_}}map print,sort{d($b)- d$a}keys%v;{

Score: 212.54 (pass)

It's a start... it works. I left the newlines in to make it more readable. I'll golf it later...

#!perl -lna
$v{$F[1]}||=0;
($v{$F[0]},$e{$F[1]}{$F[0]})=1if$F[0]ne$F[1]
}
@%=keys%v;
sub d{
$r{$_}++&¨
$o{$_}||=1+(sort{$b-$a}map{d()}keys%{$e{$_}})[0];
$r{$_}--;
$o{$_}
}
d for@%;
map print,sort{$o{$a}-$o{$b}}@%;
{