题解 | 直角三角形
#include <bits/stdc++.h> using namespace std; int main(){ int n; while(cin>>n){ while(n--){ int a1,a2,b1,b2,c1,c2; cin>>a1>>a2>>b1>>b2>>c1>>c2; int x=(b1-a1)*(b1-a1)+(b2-a2)*(b2-a2); int y=(c1-a1)*(c1-a1)+(c2-a2)*(c2-a2); int z=(c1-b1)*(c1-b1)+(c2-b2)*(c2-b2); if(x+y==z||x+z==y||y+z==x)cout<<"Yes"<<endl; else cout<<"No"<<endl; printf("%.2f\n",sqrt(x)+sqrt(y)+sqrt(z)); } } }
判断三角形的时候注意一点,三个情况有一个即可