木块拼接
Description
好奇的skyv95想要做一个正方形的木块,现在有三种颜色的矩形木块,颜色分别为"A","B","C"。他现在很想把三个木块拼接成一个大正方形,现在求助于你们,问分别给你们三种颜色矩形的两个边长,判断是否能组成一个正方形。
Input
依次输入颜色为A的矩形的两边长度,颜色为B的矩形的两边长度,颜色为C的矩形的两边长度。
Output
可以输出"YES",否则输出"NO"。
Sample Input
4 4 2 6 4 2
Sample Output
YES
Hint
例子的图像可以是这样 6 BBBBBB BBBBBB AAAACC AAAACC AAAACC AAAACC
参见大神的解法,不明白如何证明这个做法的正确性。
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
int main()
{
int a,b;
while(~scanf("%d%d",&a,&b))
{
int len=max(a,b),sum=a*b;
for(int i=0;i<2;++i)
{
scanf("%d%d",&a,&b);
len=max(a,max(len,b));
sum+=a*b;
}
if(sum==len*len)
{
printf("YES\n");
}
else
{
printf("NO\n");
}
}
return 0;
}