function that takes as arguments : curr_bound -> lower bound of the root node curr_weight -> stores the weight of the path so far level -> current level while moving in the search space tree curr_path [ ] -> where the solution is being stored which would later be copied to final_path [ ]
void TSPRec ( int adj [ N ] [ N ] , int curr_bound , int curr_weight , int level , int curr_path [ ] ) {