#!perl
@h{(split)}++for@t=<>;$v=join$/,keys%h,'';{($a,$b)=split,$c+=$v=~s/^\Q$b\E$(.*)^\Q$a\E$/$a${1}$b/msfor@t;$c?$c=0:last;++$h{$v}>1&¨redo}print$v
|
#!perl
@t=map{chop;/ /;@h{$',$`}++;"\$v=~s/^\Q$'\E\$(.*)^\Q$`\E\$/$`\${1}$'/ms"}<>;$v=join$/,keys%h,'';{$b+=eval for@t;$b?$b=0:last;++$h{$v}>1&¨redo}print$v
|
#!perl
@t=map{s/(.*) (.*)
/\$v=~s\/^\Q$2\E\$(.*)^\Q${1}\E\$\/$1\${1}$2\/ms/;@h{$1,$2}++;$_}<>;$v=join"
",keys%h,'';{$b+=eval for@t;$b||last;++$h{$v}>1&¨$b=0;redo}print$v
|
Les premiers seront les derniers et lycée de Versailles.
#!perl -l
for (<>) {
($a,$b)=split;
@h{$a,$b}=();
next if $a eq $b;
$i{$a,$b}=1
}
@t=keys %h;
if (keys %i){
$c=@t*@t;
O:for $p(0..$#t){
die if !$c--;
for $j($p+1..$#t) {
@t[$p,$j]=@t[$j,$p],redo O if $i{$t[$j],$t[$p]}
}
}
}
print for @t
|