in reply to (dws)Re: (Golf) Fragment Reassembly
in thread (Golf) Fragment Reassembly

A bit of tuning after reading japhy's Golf advice drops the score to 243
sub assemble { ## Begin Golf $w=join'',@_;t("",@_);$w} sub t{my$s=shift;$w=$s if!@_ and length$s<length$w; return if!@_;my@b=(@_,@_); map{t($_,@b[0..@_-2])}_($s,shift@b)while(@b>@_)} sub _{($a,$b)=@_;$l=length$a;for(0..$l){$x=substr($a,0,$_).$b; last if substr($x,0,$l)eq$a}$x ## End Golf } print assemble qw(GATTACA ATTACA GATT AAGAT CCC)