#include using namespace std; #define lli long long int #define pb push_back #define mp make_pair #define mod 1000000007 #define X first #define Y second pair Z[210][210]; vectorv; int main() { int n,sx,sy,ex,ey; cin>>n; cin>>sx>>sy>>ex>>ey; for(int i=0;i A[6]={{-2,-1},{-2,1},{0,2},{2,1},{2,-1},{0,-2} }; queue,int> >q; q.push(mp(mp(sx,sy),0)); Z[sx][sy]=mp(0,-1); while(!q.empty()) { pair,int> p=q.front(); q.pop(); for(int i=0;i<6;++i) { if(p.X.X+A[i].X=0 && p.X.Y+A[i].Y>=0) { if(Z[p.X.X+A[i].X][p.X.Y+A[i].Y].X>p.Y+1) { Z[p.X.X+A[i].X][p.X.Y+A[i].Y]=mp(p.Y+1,i); q.push(mp(mp(p.X.X+A[i].X,p.X.Y+A[i].Y),p.Y+1)); } } } } /*for(int i=0;i=0;--x) cout<