#include #include #include #include #include #include #include void printShortestPath(int n, int i_start, int j_start, int i_end, int j_end) { int out[n]; int count=0; if((i_start-i_end)%2==0 && (j_start-j_end-(i_start-i_end)/2)%2==0) { for(;i_start!=i_end;) { if(i_start>i_end) { if(j_start>=j_end) { j_start-=1; i_start-=2; out[count]=1; count++; } else { j_start+=1; i_start-=2; out[count]=2; count++; } } else { if(j_start>j_end) { j_start-=1; i_start+=2; out[count]=3; count++; } else { j_start+=1; i_start+=2; out[count]=4; count++; } } } for(;j_start!=j_end;) { if(j_start>j_end) { j_start-=2; out[count]=5; count++; } else { j_start+=2; out[count]=6; count++; } } printf("%d\n",count); int i; for(i=0;i