CF1642A Hard Way 题解
一道几何好题。
我们观察题目可以发现,只有在三角形的一条边平行于 x 轴且三角形的另外两条边都比它更靠近 x 轴时,才有可能存在所谓不安全的点。
所以只要判断平行,然后再验证是否在其他两条边上面即可。
放代码:
#include<bits/stdc++.h>
using namespace std;
int main(){
ios::sync_with_stdio(false);
int t; cin>>t;
while(t--){
int x1,y1,x2,y2,x3,y3; cin>>x1>>y1>>x2>>y2>>x3>>y3;
if(y1==y2 /* 平行 */ &&y3<y1 /* 判断边是否在上面 */ )cout<<abs(x2-x1)<<endl;
else if(y1==y3&&y2<y1)cout<<abs(x3-x1)<<endl;
else if(y2==y3&&y1<y2)cout<<abs(x3-x2)<<endl;
else cout<<"0\n";
}
return 0;
}