-: 0:Source:ts.c -: 0:Graph:ts.gcno -: 0:Data:ts.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) { 100181170: 18: return sqrt(sqr(cities[i].x-cities[j].x)+ 50090585: 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); -: 26: int ThisPt, ClosePt=0; -: 27: double CloseDist; -: 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