#include #include #include char path1[200]; char path2[200]; int path[200]; bool hover[200]; int route[200]; int bestr[200]; float best; int bestd; bool find(int d, int dmax, float l, char a, bool h, char g, int n) { int i; float l2; bool found=false; bool found2; if (a==g) { if (h) l+=7.0; if (l>d; for(i=1; i<=d; i++) { cout<<"Data set "<>m>>n>>p; for (j=0; j>path1[j]>>path2[j]>>path[j]>>c; hover[j]=(c=='H'); n++;j++; path1[j]=path2[j-1]; path2[j]=path1[j-1]; path[j]=path[j-1]; hover[j]=hover[j-1]; if (hover[j]) { n++; j++; hover[j]=false; path1[j]=path1[j-1]; path2[j]=path2[j-1]; path[j]=path[j-1]; n++;j++; hover[j]=false; path1[j]=path2[j-1]; path2[j]=path1[j-1]; path[j]=path[j-1]; } } for (j=1; j<=p; j++) { cout<<"Route "<>a>>b; k=10; best=1000000.0; while (!find(0,k,0,a,false,b,n)) { k+=5; } find(0,k+2,0,a,false,b,n); for (l=0; l