#include <bits/stdc++.h>
using namespace std;
struct node
{
int x,y,step;
};
int dx[10]={1,-1,0,0};
int dy[10]={0,0,-1,1};
int sx,sy,ex,ey,rx,ry,t;
int bfs(int x,int y)
{
queue <node> q;
node cur={x,y,0};
q.push(cur);
bool vis[1005][1005];
vis[x][y]=true;
while(q.empty()==false)
{
cur=q.front();
q.pop();
if(cur.x==ex && cur.y==ey)
{
return cur.step;
}
for(int i=0;i<4;i++)
{
int nx=cur.x+dx[i];
int ny=cur.y+dy[i];
if(nx>=1 && nx<=1000 && ny>=1 && ny<=1000 && vis[nx][ny]==0 && rx!=nx && ry!=ny)
{
node nxt={nx,ny,cur.step+1};
q.push(nxt);
vis[nx][ny]=true;
}
}
}
}
signed main()
{
cin>>t;
while(t--)
{
cin>>sx>>sy>>ex>>ey>>rx>>ry;
cout<<bfs(sx,sy)<<"\n";
}
return 0;
}
不知道哪错了???