H - Mysterious Photos

来源:互联网 发布:php 二维数组去重复 编辑:程序博客网 时间:2024/05/21 14:51


纯纯的一个相似三角形,有一个坑是,精度问题,用了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;}


0 0
原创粉丝点击