#include using namespace std; void printShortestPath(int n, int i_start, int j_start, int i_end, int j_end) { int mx[6]={-2,-2,0,0,2,2}; int my[6]={-1,1,-2,2,-1,1}; queue > q; q.push(make_pair(i_start,j_start)); int vis[201][201]={0}; vis[i_start][j_start]=1; pair p[201][201]; int cnt=0,x,y,i; while(!q.empty()) { x=q.front().first; y=q.front().second; if(x==i_end&&y==j_end) break; q.pop(); for(i=0;i<6;i++) { if(x+mx[i]>=0&&x+mx[i]=0&&y+my[i] m; if(x==i_end&&y==j_end) { while(1) { cnt++; int tx=p[x][y].first,ty=p[x][y].second; if(x==tx&&y==ty+2) m["R"]++; else if(x==tx&&y==ty-2) m["L"]++; else if(x==tx+2&&y==ty-1) m["LL"]++; else if(x==tx+2&&y==ty+1) m["LR"]++; else if(x==tx-2&&y==ty-1) m["UL"]++; else m["UR"]++; x=tx; y=ty; if(x==i_start&&y==j_start) break; } 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; }