三角形相似
提交文件: triangle.cpp
输入文件: triangle.in
输出文件: triangle.out
时间空间限制: 1s, 512MB
题目描述
你已经上初中了,相信你一定会做这道题。
给定两个三角形,问这两个三角形是否相似。
下面是可能有用的定义:
• 如果两个三角形的三个角分别对应相等,则这两个三角形相似
输入格式
输入包含多组测试数据。
第一行一个整数 T,表示数据组数。
每组数据六行,每行两个整数 xi
, yi,表示一个顶点的坐标。其中 (x1, y1),(x2, y2),(x3, y3) 表示第一个三
角形的三个顶点,(x4, y4),(x5, y5),(x6, y6) 表示第二个三角形的三个顶点。
输出格式
输出 T 行,每行输出 YES 或 NO 表示两个三角形是否相似
样例数据
输入
2
0 0
0 1
1 0
1 1
0 1
1 0
0 0
0 1
1 0
2 2
2 0
1 0
输出
YES
NO
样例解释
对于第一组数据:
对于第二组数据:
数据范围
对于 40% 的数据,|xi|, |yi| ≤ 1000;
对于 100% 的数据,|xi|, |yi| ≤ 109, 1 ≤ T ≤ 1000。
解题思路
这道题就是求出三角形三条边的长度,再比较它们的比例,看看是否相等,只要有一个不相等就可以确认它不是相似三角形,如果全部相等就是相似三角形。
代码
#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
#include<cmath>
using namespace std;
long double a[10],n,x[10],y[10];
bool t(int q,int w)
{
return (abs(a[q]/a[q+3]-a[w]/a[w+3]