#include using namespace std; void printShortestPath(int n, int i_start, int j_start, int i_end, int j_end) { // Print the distance along with the sequence of moves. vector xqu; vector yqu; int vis[n][n]; //memset(vis,-1,sizeof(vis)); for(int i=0;i par; xqu.push_back(i_start); yqu.push_back(j_start); vector pare; pare.push_back(-1); par.push_back(""); int ind = 0; vis[xqu[ind]][yqu[ind]] = 0; //UL, UR, R, LR, LL, L while(ind=0 && x-2>=0 && vis[x-2][y-1]==-1){ vis[x-2][y-1] = val; xqu.push_back(x-2); yqu.push_back(y-1); par.push_back(s); pare.push_back(ind); } s = "UR"; if(y+1=0 && vis[x-2][y+1]==-1){ vis[x-2][y+1] = val; xqu.push_back(x-2); yqu.push_back(y+1); par.push_back(s); pare.push_back(ind); } s = "R"; if(y+2=0 && x+2=0&&vis[x][y-2] == -1){ vis[x][y-2] = val; xqu.push_back(x); yqu.push_back(y-2); par.push_back(s); pare.push_back(ind); } ind++; } if(ind res; int x = xqu[ind]; int y = yqu[ind]; int ans = vis[x][y]; while(ind>0){ //cout<0){ cout<=0;i--){ 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; }