可达鸭学习平台题库——思维题库52题大禹治水

题目描述

大禹治水

时间限制:1秒        内存限制:128M

题目描述

小可在读了大禹治水的故事之后感触良多,尤其是“堵不如疏”的策略带给了小可许多的思考。

只有思考是不够的,小可决定建立一个沙盘来进行实验。于是小可购买了四块玻璃板来围成一个矩形以建立沙盘。

不幸的是,玻璃板运输途中出现了意外,小可从中挑出来了三块可用的玻璃板,长度为a,b,ca,b,c。小可打算将其中一块分割开来,与另外两块构建一个矩形。分割后玻璃板的长度都必须是整数。你能帮助小可计算一下这个方案是否可行吗?

输入描述

第一行一个整数t(1≤t≤10​^4​​),代表有tt组输入。

对于每组输入,有三个整数a,b,c(1≤a,b,c≤10^​8​​)。

输出描述

对于每组输出,如果能分割其中一块玻璃板,然后构成一个矩形,那么输出YES。否则输出NO。注意:本题中长方形、正方形都算是矩形。

样例输入

36 1 52 5 22 4 2

样例输出

YESNOYES

注意

第一组输入,将6拆为15
第三组输入,将4拆为22
第二组输入如果是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
请按任意键继续. . .

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Programming_Konjac

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值