P10245 题解

前言

你说得对,但是百度 YYDS!

思路

首先假设 aa 为上底,cc 为下底,b,db,d 为腰,则把四条边分别为 a,b,c,da,b,c,d 的梯形将上底和下底减去上底,这样就会变成一个边长为 b,(ac),db,(a-c),d 的三角形,这是只要判断 b,(ac),db,(a-c),d 是否能构成三角形就行了。

代码

# include <bits/stdc++.h>
using namespace std;
int t, a, b, c, d;
bool f (int a, int b, int c) {
	return a + b > c && a + c > b && b + c > a;
}
bool check (int& a, int& b, int& c, int& d) {
	return f (abs (a - c), b, d);
}
int main () {
	ios::sync_with_stdio (0);
	cin.tie (0);
	cout.tie (0);
	cin >> t;
	while (t --) {
		cin >> a >> b >> c >> d;
		cout << (check (a, b, c, d) || check (b, c, d, a) ? "yes\n" : "no\n");
	}
	return 0;
}
posted @   sz_jinzikai  阅读(5)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示