#include #define size 210 #define lli long long int using namespace std; bool isValid(lli i,lli j,lli n) { if(i>=0 && i=0 && j > q; pair current; bool visited[n][n]; lli dist[n][n]; lli parentX[n][n],parentY[n][n]; string node[n][n]; lli x,y,X,Y,i,j,k; memset(dist , -1 , sizeof dist); lli moves[6][2] = {{-2,-1},{-2,1},{0,2},{2,1},{2,-1},{0,-2}}; string strs[6] = {"UL","UR","R","LR","LL","L"}; memset(visited , 0 , sizeof visited); dist[i_start][j_start] = 0; visited[i_start][j_start] = 1;parentX[i_start][j_start] = -1;parentY[i_start][j_start] = -1; node[i_start][j_start] = "over"; q.push(make_pair(i_start,j_start)); while(!q.empty()) { current = q.front(); q.pop(); x = current.first; y = current.second; //cout< st; while(1) { if(x == i_start && y==j_start) break; st.push(node[x][y]); X = x; x = parentX[x][y]; y = parentY[X][y]; } 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; }