https://blog.csdn.net/axuhongbo/article/details/81220319
Download
三种情况
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
struct node
{
int x,y;
};
int cmp(node a,node b)
{
if(a.x==b.x)
{
return a.y>b.y;
}
else
{
return a.x>b.x;
}
}
int main()
{
node a[10];
int sum =0;
for(int i=1; i<=3; i++)
{
cin >> a[i].x >> a[i].y;
if(a[i].x<a[i].y)
{
swap(a[i].x,a[i].y);
}
sum+=a[i].x*a[i].y;
}
sort(a+1,a+4,cmp);
int r=(int)sqrt(sum);
int f=0;
if(r*r==sum)
{
if(a[1].x==r)
{
int p=r-a[1].y;
if(a[2].x==a[3].x&&a[2].x==r&&p==a[2].y+a[3].y)
{
f=1;
}
if(a[2].x==a[3].x&&a[2].x==p&&a[2].y+a[3].y==r)
{
f=1;
}
if(a[2].y==a[3].y&&a[2].y==p&&a[2].x+a[3].x==r)
{
f=1;
}
if(a[2].x+a[3].y==r&&a[2].y==a[3].x&&a[2].y==p)
{
f=1;
}
}
}
if(f)
{
printf("YES");
}
else
{
printf("NO");
}
return 0;
}