#include using namespace std; bool czy(int i_end, int j_end, int obecny_i, int obecny_j){ if(obecny_i==i_end && obecny_j==j_end){ return true; } return false; } void printShortestPath(int n, int i_start, int j_start, int i_end, int j_end) { if(abs(i_end-i_start)%2!=0){ cout<<"Impossible"; return; } int ile=abs(i_end-i_start)/2; if(( (abs(j_start-j_end)%2!=0 && ile%2==0) || (abs(j_start-j_end)%2==0 && ile%2!=0) )){ cout<<"Impossible"; return; } int ile_ruchow=0; int obecny_i=i_start, obecny_j=j_start; string ss=""; while(true){ if(obecny_j==j_end && obecny_ii_end){ ss+="UL "; obecny_j-=1; obecny_i-=2; }else if(j_end>obecny_j && obecny_iobecny_j && obecny_i==i_end){ ss+="R "; obecny_j+=2; }else if(obecny_j>j_end && obecny_i>i_end){ ss+="UL "; obecny_j-=1; obecny_i-=2; }else if(j_end>obecny_j && obecny_i>i_end){ ss+="UR "; obecny_j+=1; obecny_i-=2; }else if(obecny_j>j_end && obecny_ij_end && obecny_i==i_end){ ss+="L "; obecny_j-=2; } ile_ruchow++; if(czy(i_end,j_end,obecny_i,obecny_j)){ 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; }