Finish 2000-03-27 00:00:00 UTC

saltII_fp

by Edward Brian Welch

Status: Passed
Results: 102.661
CPU Time: 23.925
Score: 53071.9
Submitted at: 2000-03-22 23:22:04 UTC
Scored at: 2000-03-23 15:43:42 UTC

Current Rank: 182nd
Based on: Salt II (diff)

Comments
Edward Brian Welch
22 Mar 2000
%nii=length(ii);
Please login or create a profile.
Code
function gene = sal_fp(a0)
[n,L] = size(a0);
lut = zeros(1,84);
lut([65 67 71 84]) = [0 1 2 3];
dd = lut(double(a0));
dd = dd*(4.^(L-1:-1:0))';
[dd,ord] = sort(dd);
kk = [find(dd(1:n-1)~=dd(2:n));n];
a0 = a0(ord(kk),:);
nii = size(kk,1);
a = cell(nii,1);
ii = 1:nii;
for k = ii,
a{k} = a0(k,:);
end;
gTail = 2-L:0;
%nii=length(ii);
for N = L-1:-1:1,
i1 = 1;
while i1<=nii,
while 1,
cPart = find(strncmp(a{i1}(end+gTail),a, N));
if cPart,
mSeg = cPart(1);
if mSeg~=i1,
a{i1} = [a{i1} a{mSeg}(1+N:end)];
nii=nii-1;
if nii == 1,
gene = a{i1};
return;
end;
if mSeg<i1, i1=i1-1; end;
a(mSeg) = [];
else
break;
end;
else
break;
end;
end;
i1=i1+1;
end;
gTail(1) = [];
end;
gene = [a{:}];