#include using namespace std; int i_start; int j_start; int i_end; int j_end; int n; int dy[]={-1,1,2,1,-1,-2}; int dx[]={-2,-2,0,2,2,0}; string mapping[]={"UL", "UR", "R", "LR", "LL", "L"}; map ,int> mapi; bool check(int x,int y) { if(x>=0 && y>=0 && x > q; q.push(make_pair(i_start,j_start)); vis[i_start][j_start]=0; while(!q.empty()) { int x = q.front().first; int y = q.front().second; q.pop(); for(int i=0;i<6;i++) { if(check(x+dx[i],y+dy[i]) && vis[x+dx[i]][y+dy[i]]==-1) { q.push(make_pair(x+dx[i],y+dy[i])); vis[x+dx[i]][y+dy[i]] = vis[x][y]+1; mapi[make_pair(x+dx[i],y+dy[i])] = i; // cout< v; int x = i_end; int y = j_end; while(true) { // cout<=0;i--) { cout<> n; cin >> i_start >> j_start >> i_end >> j_end; printShortestPath(); return 0; }