#include <iostream>
using namespace std;
bool vis[301][301];
int dx[8]={2,-2,1,-1,2,-2,1,-1}, dy[8]={1,1,2,2,-1,-1,-2,-2};
int h[10001][4];
int m, n;
void bfs(int lx, int ly, int ex, int ey)
{
vis[lx][ly]=1;
int head=1, tail=1;
h[1][1]=lx, h[1][2]=ly, h[1][3]=0;
while(head<=tail)
{
for(int i=0;i<8;i++)
{
int nx=h[head][1]+dx[i], ny=h[head][2]+dy[i];
if(nx>=0&&nx<n&&ny>=0&&ny<n&&vis[nx][ny]!=1)
{
tail++;
vis[nx][ny]=1;
h[tail][1]=nx, h[tail][2]=ny, h[tail][3]=h[head][3]+1;
if(nx==ex&&ny==ey)
{
cout<<h[tail][3]<<endl;
return;
}
}
}
head++;
}
}
int main()
{
int x1, y1, x2, y2;
cin>>m;
for(int i=1;i<=m;i++)
{
cin>>n;
cin>>x1>>y1;
cin>>x2>>y2;
if(x1==x2&&y1==y2)
cout<<0<<endl;
else
bfs(x1, y1, x2, y2);
}
return 0;
}
求大佬指教为何会RE