#include #include #include #include #include #include #include void printShortestPath(int n, int i_start, int i_end, int j_start, int j_end) { // Print the distance along with the sequence of moves. int temp; if(abs(i_start-j_start)%2) { printf("Impossible"); return; } if(i_start==j_start) { if(abs(i_end-j_end)%2) { printf("Impossible"); return; } else { printf("%d\n",abs(i_end-j_end)/2); int i=0; if((i_end-j_end)<0) { for(i=1;ij_start) { i=abs(i_start-j_start)/2; for(;i>0;i--) { if(abs(i_end-1-j_end)<=abs(i_end+1-j_end)) { count[j]=-1; tot++; j++; i_end--; } else { count[j]=1; tot++; j++; i_end++; } } if(abs(i_end-j_end)%2!=0) { printf("Impossible"); return; } else { printf("%d\n",tot+abs(i_end-j_end)/2); for(i=0;count[i]!=0 ;i++) { if(count[i]==-1) { printf("UL ") ; } else { printf("UR "); } } for(i=0;i0;i--) { if(abs(i_end-1-j_end)