#include using namespace std; bool vis[201][201]; map,pair> par; int dx[]={-1,1,2,1,-1,-2}; int dy[]={-2,-2,0,2,2,0}; void finish(pair cur, int lvl){ string pth[]={"UL","UR","R","LR","LL","L"}; map,int> xp; for(int i=0;i<6;i++) xp[make_pair(dx[i],dy[i])]=i; string path; pair df; cout << lvl << endl; for(int i=0;i cur=make_pair(x1,y1); queue> q; vector path; q.push(cur); //par[cur]=make_pair(-1,-1); vis[x1][y1]=1; while (!q.empty()){ int sz=q.size(); lvl++; while (sz--){ int xr=q.front().first,yr=q.front().second; q.pop(); for(int i=0;i<6;i++){ cur.first=xr+dx[i]; cur.second=yr+dy[i]; if (cur.first>=0 && cur.second>=0 && cur.first> 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; }