纯纯的一个相似三角形,有一个坑是,精度问题,用了sqrt就wa,
所以此类问题,能不sqrt尽量就不 sqrt
#include <cstdio>
#include <cmath>
#include <cstring>
#include <string>
#include <algorithm>
#include <iostream>
#include <queue>
#include <set>
#include <vector>
using namespace std;
double tm[5][5];
double nm[5][5];
double len1[5];
double len2[5];
int main()
{
cin>>tm[1][1]>>tm[1][2];
cin>>tm[2][1]>>tm[2][2];
cin>>tm[3][1]>>tm[3][2];
cin>>nm[1][1]>>nm[1][2];
cin>>nm[2][1]>>nm[2][2];
cin>>nm[3][1]>>nm[3][2];
len1[1]=( pow((tm[1][1]-tm[2][1]),2)+pow((tm[1][2]-tm[2][2]),2) ); //此处长度本应有sqrt,但由于精度问题,才直接用平方计算
len1[2]=( pow((tm[2][1]-tm[3][1]),2)+pow((tm[2][2]-tm[3][2]),2) );
len1[3]=( pow((tm[1][1]-tm[3][1]),2)+pow((tm[1][2]-tm[3][2]),2) );
len2[1]=( pow((nm[1][1]-nm[2][1]),2)+pow((nm[1][2]-nm[2][2]),2) );
len2[2]=( pow((nm[2][1]-nm[3][1]),2)+pow((nm[2][2]-nm[3][2]),2) );
len2[3]=( pow((nm[1][1]-nm[3][1]),2)+pow((nm[1][2]-nm[3][2]),2) );
sort(len1+1,len1+3+1);
sort(len2+1,len2+3+1);
if ((len1[1]*len2[2]==len1[2]*len2[1])&&
(len1[3]*len2[2]==len1[2]*len2[3]) )
printf("YES\n");
else
printf("NO\n");
return 0;
}