clc,clear
a=[
0 45.0000 50.3000 26.6000 34.4000 28.2000 26.8000 41.7000 25.0000 33.1000 17.7000 21.8000 30.0000 10.3000 5.9000 37.1000 6.0000 16.1000 34.0000 18.9000
45.0000 0 8.9000 18.4000 26.2000 34.1000 44.1000
50.1000 61.1000 60.4000 62.7000 66.8000 75.0000 55.3000 50.9000 7.9000 39.0000 28.9000 42.4000 51.9000
50.3000 8.9000 0 23.7000 18.8000 26.7000 42.2000
42.7000 59.3000 53.0000 66.3000 70.4000 67.9000 58.9000 56.2000 13.2000 44.3000 34.2000 35.0000 50.1000
26.6000 18.4000 23.7000 0 7.8000 15.7000 25.7000 31.7000 42.7000 42.0000 44.3000 48.4000 56.6000 36.9000 32.5000 10.5000 20.6000 10.5000 24.0000 33.5000
34.4000 26.2000 18.8000 7.8000 0 7.9000 23.4000
23.9000 40.5000 34.2000 47.5000 51.6000 49.1000 40.1000 40.3000 18.3000 28.4000 18.3000 16.2000 31.3000
28.2000 34.1000 26.7000 15.7000 7.9000 0 15.5000
16.0000 32.6000 26.3000 39.6000 43.7000 41.2000 32.2000 34.1000 26.2000 22.2000 12.1000 8.3000 23.4000
26.8000 44.1000 42.2000 25.7000 23.4000 15.5000 0
14.9000 17.1000 25.2000 24.1000 28.2000 36.4000 16.7000 28.9000 36.2000 20.8000 15.2000 7.2000 7.9000
41.7000 50.1000 42.7000 31.7000 23.9000 16.0000 14.9000 0 18.4000 10.3000 25.7000 33.4000 25.2000 31.6000 43.8000 42.2000 35.7000 28.1000 7.7000 22.8000
25.0000 61.1000 59.3000 42.7000 40.5000 32.6000 17.1000
18.4000 0 8.1000 7.3000 26.2000 23.0000 14.7000 26.9000 53.2000 22.1000 32.2000 24.3000 9.2000
33.1000 60.4000 53.0000 42.0000 34.2000 26.3000 25.2000
10.3000 8.1000 0 15.4000 23.1000 14.9000 22.8000 35.0000 52.5000 30.2000 38.4000 18.0000 17.3000
17.7000 62.7000 66.3000 44.3000 47.5000 39.6000 24.1000
25.7000 7.3000 15.4000 0 18.9000 20.3000 7.4000 19.6000 54.8000 23.7000 33.8000 31.3000 16.2000
21.8000 66.8000 70.4000 48.4000 51.6000 43.7000 28.2000
33.4000 26.2000 23.1000 18.9000 0 8.2000 11.5000 17.6000 58.9000 27.8000 37.9000 35.4000 20.3000
30.0000 75.0000 67.9000 56.6000 49.1000 41.2000 36.4000 25.2000 23.0000 14.9000 20.3000 8.2000 0 19.7000 25.8000 67.1000 36.0000 46.1000 32.9000 28.5000
10.3000 55.3000 58.9000 36.9000 40.1000 32.2000 16.7000
31.6000 14.7000 22.8000 7.4000 11.5000 19.7000 0 12.2000 47.4000 16.3000 26.4000 23.9000 8.8000
5.9000 50.9000 56.2000 32.5000 40.3000 34.1000 28.9000
43.8000 26.9000 35.0000 19.6000 17.6000 25.8000 12.2000 0 43.0000 11.9000 22.0000 36.1000 21.0000
37.1000 7.9000 13.2000 10.5000 18.3000 26.2000 36.2000
42.2000 53.2000 52.5000 54.8000 58.9000 67.1000 47.4000 43.0000 0 31.1000 21.0000 34.5000 44.0000
6.0000 39.0000 44.3000 20.6000 28.4000 22.2000 20.8000
35.7000 22.1000 30.2000 23.7000 27.8000 36.0000 16.3000 11.9000 31.1000 0 10.1000 28.0000 12.9000
16.1000 28.9000 34.2000 10.5000 18.3000 12.1000 15.2000 28.1000 32.2000 38.4000 33.8000 37.9000 46.1000 26.4000 22.0000 21.0000 10.1000 0 20.4000 23.0000
34.0000 42.4000 35.0000 24.0000 16.2000 8.3000 7.2000
7.7000 24.3000 18.0000 31.3000 35.4000 32.9000 23.9000 36.1000 34.5000 28.0000 20.4000 0 15.1000
18.9000 51.9000 50.1000 33.5000 31.3000 23.4000 7.9000 22.8000 9.2000 17.3000 16.2000 20.3000 28.5000 8.8000 21.0000 44.0000 12.9000 23.0000 15.1000 0
];
c1=[17 1 15 12 13 10 9 11 14 20 7 8 19 6 5 3 2 16 4 18 17]; L=length(c1); flag=1;
while flag>0 flag=0; for m=1:L-3 for n=m+2:L-1
if a(c1(m),c1(n))+a(c1(m+1),c1(n+1)) < a(c1(m),c1(m+1))+a(c1(n),c1(n+1)) flag=1;
c1(m+1:n)=c1(n:-1:m+1); end end end end
sum1=0; for i=1:L-1
sum1=sum1+a(c1(i),c1(i+1)); end
circle=c1; sum=sum1;
c1=[17 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 18 19 20 17]; flag=1;
while flag>0 flag=0; for m=1:L-3 for n=m+2:L-1
if a(c1(m),c1(n))+a(c1(m+1),c1(n+1))<...
a(c1(m),c1(m+1))+a(c1(n),c1(n+1)) flag=1;
c1(m+1:n)=c1(n:-1:m+1); end end end end
sum1=0; for i=1:L-1
sum1=sum1+a(c1(i),c1(i+1)); end
if sum1circle=c1; endcircle,sum