P10245题解
题意:给出
思路
很显然,根据梯形的性质判断即可。
梯形的性质:两斜边之和大于两底之差,两斜边之差小于两底之差。
由于我们不知道
注意,题目给出的四条边的顺序是不能变的。
代码
#include <bits/stdc++.h>
using namespace std;
bool solve() // 多测用函数
{
int a, b, c, d; // 4 条边,对应题目中的 p, q, r, s
scanf("%d %d %d %d", &a, &b, &c, &d);
if (a + c > abs(b - d) && abs(a - c) < abs(b - d)) return 1; // 假设 p 和 r 是一对斜边
if (b + d > abs(a - c) && abs(b - d) < abs(a - c)) return 1; // 假设 q 和 s 是一对斜边
return 0; // 不是梯形
}
int main()
{
int T;
scanf("%d", &T); // T 组测试
while (T--)
{
if (solve()) puts("yes"); // 能组成梯形
else puts("no"); // 不能组成梯形
}
return 0;
}