Topological Sort
Score: 75.50 (pass)
Those brackets arount the print are killing me!
#!perl -ln0
s/^(.*) \1$/$1/mg;/ \Q$&
/||print($&),s/^\Q$&\E\s//mgwhile/\S+/g;$_&&&
|
Score: 76.50 (pass)
#!perl -ln0
s/^(.+) \1$/$1/gm;/ \Q$&
/||print($&),s/^\Q$&\E\s//mgwhile/\S+/g;$_&&&;
|
Score: 77.49 (pass)
#!perl -ln0
s/^(.+) \1$/$1/mg;/ \Q$&
/||print($&),s/^\Q$&\E\s//mgwhile/\S+/g;$_&&die
|
Score: 79.49 (pass)
#!perl -ln0
s/^(.+) \1$/$1/mg;/ \Q$&
/||print($&),s/^\Q$&\E\s//gmwhile/^\S+/mg;$_&&die
|
Score: 81.49 (pass)
Sorry for keeping you busy :)
#!perl -ln0
s/^(.*) \1$/$1/mg;
/ \Q$&
/||print($&),s/^\Q$&\E\s//gmwhile/^\S+/mg;
$_&&die
|
Score: 86.47 (pass)
#!perl -ln0
s/^(.*) \1$/$1/mg;
/^.* \Q$&
/ms||print($&),s/^\Q$&\E\s//gmwhile/^\S+/mg;
$_&&die
|
Score: 88.47 (pass)
inching closer .. and closer ..
#!perl -ln0
s/^(.*) \1$/$1/mg;
/^.* \Q$&\E
/ms||print($&),s/^\Q$&\E\s//gmwhile/^\S+/mg;
$_&&die
|
Score: 92.47 (pass)
Don't ask me how I did .. it just happened!
#!perl -ln0
s/^(.*) \1$/$1/mg;
while(/^\S+/mg){/^.* \Q$&\E
/ms||print$&and s/^\Q$&\E\s//gm}
$_&&die
|
Score: 107.61 (fail)
Sometimes I feel sooooo stupid!
#!perl -lpa
$x=~/ \Q$F[1]\E (.* )*\Q$F[0] /&¨$x=~s/ \Q$F[1] / $_ / or$x.=" $_ "}for(grep!$x{$_}++,$x=~/\S+/g){
|
Score: 110.61 (fail)
A little re-arrangement saved me 14 chars!
#!perl -lpa
$x=~/ \Q$F[1]\E (.* )*\Q$F[0] /&&exit$=;$x=~s/ \Q$F[1] / $_ / or$x.=" $_ "}for(grep!$x{$_}++,$x=~/\S+/g){
|
Score: 116.64 (fail)
#!perl -lpa
$x=~s/ $F[1] / $_ / or$x.=" $_ ";/^(\S+) \1$/||$x=~/ $F[1] (.* )*$F[0] /&&exit$=}for(grep!$x{$_}++,$x=~/\S+/g){
|
Score: 118.62 (fail)
#!perl -lpa
$x=~s/ \Q$F[1] / $_ / or$x.=" $_ ";$F[0]ne$F[1]&&$x=~/ $F[1] (.* )*$F[0] /&&exit$=}for(grep!$x{$_}++,$x=~/\S+/g){
|
Score: 124.63 (fail)
Damn special characters!
#!perl -lpa
$x=~s/ \Q$F[1] / $_ / or$x.=" $_ ";/^(\S+) \1$/||$x=~/ \Q$F[1]\E (.* )*\Q$F[0] /&&exit$=}for(grep!$x{$_}++,$x=~/\S+/g){
|
Score: 139.49 (pass)
Dunno how much more juice I can suck out of this ...
#!perl -ln
/ /;$`eq$'||$s{$`}{$'}++||$p{$'}++;$p{$`}+=0}while(%p){@a=grep!$p{$_},keys%p or die;map{delete$p{$_};print;$p{$_}--for keys%{$s{$_}}}@a
|
Score: 149.55 (pass)
not much ... but better ..
#!perl -ln
/^(.*) (.*)$/;$1eq$2||$_{$1}{$2}++||$e{$2}++;$e{$1}+=0}{@a=grep!$e{$_},keys%e or die;map{print;delete$e{$_};map$e{$_}--,keys%{$_{$_}}}@a;%e&&redo
|
Score: 168.52 (pass)
At least this one works. Major changes coming up ..
#!perl -lna
$F[0]eq$F[1]||$_{$F[0]}{$F[1]}++||$e{$F[1]}++;$e{$F[0]}+=0}while(@b=keys%e){if (@a=grep!$e{$_},@b){for (@a){print;delete$e{$_};$e{$_}--for keys%{$_{$_}}}}else{die}
|