n = size(a,1);
s = {1};
D = Inf*(1:n);
P = cell(1,n);
while numel(s)
p = s{end};
s(end)=[];
k = setdiff(find(a(p(end),:)), p);
for q = k
r = [p q];
s{end+1} = r;
d = 0;
for i = 2:numel(r)
d = d + norm(b(r(i),:) - b(r(i-1),:));
end
if d < D(r(end))
D(r(end)) = d;
P{r(end)} = r;
end
end
end
D(isinf(D))=0;
[i,j]=max(D);
c=P{j};
|