利用向量叉积
#include <iostream>
#include<algorithm>
using namespace std;
typedef long long ll;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int q;
cin>>q;
while(q--){
ll x1,x2,x3,y1,y2,y3;
cin>>x1>>y1>>x2>>y2>>x3>>y3;
ll cross=(x2-x1)*(y3-y1)-(y2-y1)*(x3-x1);
if(cross>0)cout<<1<<endl;
else if(cross<0)cout<<2<<endl;
else{
bool in_x=(x3>=min(x1,x2))&&(x3<=max(x1,x2));
bool in_y=(y3>=min(y1,y2))&&(y3<=max(y1,y2));
if(in_x&&in_y)cout<<3<<endl;
else cout<<4<<endl;
}
}
return 0;
}

京公网安备 11010502036488号