#include using namespace std; void printShortestPath(int n, int is, int js, int ie, int je) { queue< pair > mq; string path[n][n]; int i,j,ct=0; int vis[n][n],dis[n][n]; for(i=0;i=0&&j-1>=0&&!vis[i-2][j-1]){ path[i-2][j-1]= "UL"; vis[i-2][j-1]=1; dis[i-2][j-1]=dis[i][j]+1; mq.push(make_pair(i-2,j-1)); } if(i-2>=0&&j+1=0&&!vis[i+2][j-1]){ path[i+2][j-1]= "LL"; vis[i+2][j-1]=1; dis[i+2][j-1]=dis[i][j]+1; mq.push(make_pair(i+2,j-1)); } if(j-2>=0&&!vis[i][j-2]){ path[i][j-2]= "L"; vis[i][j-2]=1; dis[i][j-2]=dis[i][j]+1; mq.push(make_pair(i,j-2)); } } if(mq.empty()){ cout<<"Impossible"< ms; i= ie,j=je; cout<> n; int i_start; int j_start; int i_end; int j_end; cin >> i_start >> j_start >> i_end >> j_end; printShortestPath(n, i_start, j_start, i_end, j_end); return 0; }