题目地址:http://codeforces.com/gym/100819/attachments
题目:
Determine if it is possible to produce two triangles of given side lengths, by cutting some rectanglewith a single line segment, and freely rotating and flipping the resulting pieces.
Input
The input consists of two lines. The first line contains three space-separated positive integers,indicating the desired side lengths of the first triangle. Similarly, the second line contains threespace-separated positive integers, denoting the desired side lengths of the second triangle. It isguaranteed that the side lengths produce valid triangles. All side lengths are less than or equal to100.
Output
Print, on a single line, whether there exists a rectangle which could have been cut to form trianglesof the given side lengths. If such a rectangle exists, print YES. Otherwise, print NO.
思路:
两个三角形,先判断是否全等,SSS,再判断是不是直角三角形。
代码:
#include<iostream>
#include<algorithm>
using namespace std;
bool cmp(int a,int b)
{
return a<b;
}
int main()
{
int a[3],b[3];
while(cin>>a[0]>>a[1]>>a[2]>>b[0]>>b[1]>>b[2])
{
sort(a,a+3,cmp);
sort(b,b+3,cmp);
int i,k=0;
for(i=0;i<3;i++)
{
if(a[i]!=b[i]){k=1;break;}
}
if(k==1)cout<<"NO"<<endl;
else
{
if(a[0]*a[0]+a[1]*a[1]!=a[2]*a[2])cout<<"NO"<<endl;
else cout<<"YES"<<endl;
}
}
return 0;
}