HDU 5655 CA Loves Stick(思维题目)【bestcoder】

来源:互联网 发布:世界历年gdp数据 编辑:程序博客网 时间:2024/06/06 20:17

CA Loves Stick

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others)
Total Submission(s): 2130    Accepted Submission(s): 615


Problem Description
CA loves to play with sticks.
One day he receives four pieces of sticks, he wants to know these sticks can spell a quadrilateral.
(What is quadrilateral? Click here: https://en.wikipedia.org/wiki/Quadrilateral)
 

Input
First line contains T denoting the number of testcases.
T testcases follow. Each testcase contains four integers a,b,c,d in a line, denoting the length of sticks.
1T1000, 0a,b,c,d2631
 

Output
For each testcase, if these sticks can spell a quadrilateral, output "Yes"; otherwise, output "No" (without the quotation marks).
 

Sample Input
21 1 1 11 1 9 2
 

Sample Output
YesNo
 
本题的题意就是给你四根木棒,然后问你能不能组成四边形,四边形的定义上面已经给出。
很明显需要满足最小的三条边之和大于第四条边,而且最小的边不能为0 。
直接加的话会爆long long ,所以我们需要转换一下思路,就是最小的边大于最长的边减去另外两条边的长度。
下面是AC代码:
#include<cstdio>#include<cstring>#include<algorithm>using namespace std;#define ll long longll a[4];int main(){    int t;    scanf("%d",&t);    while(t--)    {        scanf("%I64d %I64d %I64d %I64d",&a[0],&a[1],&a[2],&a[3]);        sort(a,a+4);        if(a[0]==0)        {            printf("No\n");            continue;        }        if(a[0]>a[3]-a[2]-a[1])        {            printf("Yes\n");        }        else        {            printf("No\n");        }    }    return 0;}


1 0
原创粉丝点击