#include #include #include #include typedef bool bool15[15]; //block out rows and columns typedef int loc15[15]; //which columns were selected in eahc row? typedef int table15[15][15]; //hold the distance table //Procedure to pick 1 game (1 row and 1 column) recursively calls itself void pick1(table15 t, bool15 b, loc15 loc, int h, int games,int total); int min; //hold the grand minimum for each set int main() {char fname[25]; // file name ifstream infile; // input file ofstream outfile; // output file cout<<"InFile name:"; //get the input file name cin>>fname; infile.open(fname); while (infile.fail()) //check the input file {cout<>fname; infile.open(fname); } cout<<"Outfilename:"; //open the output file cin>>fname; outfile.open(fname); cout<<"Made it past check"<>sets; cout<0) //until we are done with all sets {cout<>height; //read in table height & width // LOAD TABLE for (int x=0;x>t[x][y];} pick1(t,b,loc,height,games,total); //recursively select the empty cells outfile<<"Perfect "<