题目描述
大禹治水
时间限制:1秒 内存限制:128M
题目描述
小可在读了大禹治水的故事之后感触良多,尤其是“堵不如疏”的策略带给了小可许多的思考。
只有思考是不够的,小可决定建立一个沙盘来进行实验。于是小可购买了四块玻璃板来围成一个矩形以建立沙盘。
不幸的是,玻璃板运输途中出现了意外,小可从中挑出来了三块可用的玻璃板,长度为a,b,ca,b,c。小可打算将其中一块分割开来,与另外两块构建一个矩形。分割后玻璃板的长度都必须是整数。你能帮助小可计算一下这个方案是否可行吗?
输入描述
第一行一个整数t(1≤t≤10^4),代表有tt组输入。
对于每组输入,有三个整数a,b,c(1≤a,b,c≤10^8)。
输出描述
对于每组输出,如果能分割其中一块玻璃板,然后构成一个矩形,那么输出YES
。否则输出NO
。注意:本题中长方形、正方形都算是矩形。
样例输入
3
6 1 5
2 5 2
2 4 2
样例输出
YES
NO
YES
注意
第一组输入,将6
拆为1
和5
第三组输入,将4
拆为2
和2
第二组输入如果是2 6 2
,那么也应当输出YES
确定思路
首先,我们要确定思路:
1、输入
2、找规律
3、输出
规律
a<b<c;
1、a+b=c
2、c%2=0(a==b)
3、a%2=0(b==c)
代码
#include<bits/stdc++.h>
using namespace std;
bool panduan(int a,int b,int c){
if(a+b==c){
return 1;
}
if(a==b&&c%2==0){
return 1;
}
if(b==c&&a%2==0){
return 1;
}
return 0;
}
int main(){
int t;
scanf("%d",&t);
while(t--){
int a[5];
bool flag=false;
scanf("%d %d %d",&a[1],&a[2],&a[3]);
sort(a+1,a+3+1);
int temp=panduan(a[1],a[2],a[3]);
if(temp==1){
printf("YES\n");
}
else{
printf("NO\n");
}
}
return 0;
}
运行结果
3
5 1 6
YES
2 5 2
NO
2 4 2
YES--------------------------------
Process exited after 7.301 seconds with return value 0
请按任意键继续. . .