-: 0:Source:tsp1.c -: 0:Graph:tsp1.gcno -: 0:Data:tsp1.gcda -: 0:Runs:1 -: 0:Programs:1 -: 1:#include -: 2:#include -: 3:#include -: 4:#include -: 5:#include -: 6: -: 7:typedef struct { -: 8: double x; -: 9: double y; -: 10:} point; -: 11: 100181170: 12:double sqr(double x) -: 13:{ 100181170: 14: return x*x; -: 15:} -: 16: 50090585: 17:double dist(point cities[], int i, int j) { 150271755: 18: return sqrt(sqr(cities[i].x-cities[j].x)+ 100181170: 19: sqr(cities[i].y-cities[j].y)); -: 20:} -: 21: 1: 22:void tsp(point cities[], int tour[], int ncities) -: 23:{ -: 24: int i,j; 1: 25: char *visited = alloca(ncities); 1: 26: int ThisPt, ClosePt=0; -: 27: double CloseDist; 1: 28: int endtour=0; -: 29: 10001: 30: for (i=0; i", argv[0]); #####: 62: exit(1); -: 63: } 1: 64: ncities = atoi(argv[1]); 1: 65: cities = alloca(ncities*sizeof(point)); 1: 66: tour = alloca(ncities*sizeof(int)); 10001: 67: for (i=0; i