Description
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 to 100.
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.
Sample Input
3 4 5
4 3 5
Sample Output
YES
Sample Input
3 4 6
4 6 3
Sample Output
NO
Sample Input
39 52 65
25 60 65
Sample Output
NO
题解:求两个三角形是否为全等直角三角形。
代码如下:
#include <iostream>
#include <algorithm>
#include <string.h>
#include <stdio.h>
#include <string.h>
using namespace std;
int main()
{
int n,f;
int a[10],b[10],c[10];
cin>>a[0]>>a[1]>>a[2];
cin>>b[0]>>b[1]>>b[2];
sort(a,a+3);
sort(b,b+3);
int k=0;
for(int i=0;i<3;i++)
{
if(a[i]==b[i])
k++;
}
if(a[0]*a[0]+a[1]*a[1]==a[2]*a[2]&&k==3)
cout<<"YES"<<endl;
else
cout<<"NO"<<endl;
return 0;
}