版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_39645344/article/details/82963421
CA Loves Stick
Accepts: 381
Submissions: 3204
Time Limit: 2000/1000 MS (Java/Others)
Memory Limit: 262144/262144 K (Java/Others)
问题描述
CA喜欢玩木棍。 有一天他获得了四根木棍,他想知道用这些木棍能不能拼成一个四边形。(四边形定义:https://en.wikipedia.org/wiki/Quadrilateral)
输入描述
第一行 $T$,表示有 $T$ 组数据。 接下来 $T$ 组数据,每组数据包含四个整数 $a,b,c,d$,分别为四根木棍的长度。 $1 \le T \le 1000,~0 \le a,b,c,d \le 2^{63}-1$
输出描述
对于每个数据,如果能拼成一个四边形,输出“Yes”;否则输出“No”(不包括双引号)。
输入样例
2 1 1 1 1 1 1 9 2
输出样例
Yes No
#include<iostream>
#include<cmath>
#include<algorithm>
using namespace std;
// 构成四边形的条件:最长边小于其余三条边的和
int main()
{
int t;
cin>>t;
while(t--){
//unsigned long long a,b,c,d,aa,bb,cc,dd; // max unsigned long long=2^64是long long范围的两倍;
long long a[4];
cin>>a[0]>>a[1]>>a[2]>>a[3];
sort(a,a+4);
if(a[0]>0&&a[3]-a[0]-a[1]<a[2]) cout<<"Yes"<<endl; // 判断四边是否能构成四边形的充要条件;
else cout<<"No"<<endl;
}
return 0;
}