HDU 5655 CA Loves Stick

来源:互联网 发布:北明软件 编辑:程序博客网 时间:2024/06/01 10:18

题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=5655

思路:只要有一个边大于其他三边的和就不能组成四边形,可以先排序一下,然后做减法,做加法有可能超long long

AC代码:

#include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <queue>#include <stack>#include <map>#include <cstring>#include <climits>#include <cmath>#include <cctype>const int inf = 0x3f3f3f3f;//1061109567typedef long long LL;#define lson l,m,rt<<1#define rson m+1,r,rt<<1|1using namespace std;LL a[4];int main(){    int t;    scanf("%d",&t);    while(t--)    {        bool flag = false;        for(int i=0; i<4; i++)        {            scanf("%I64d",&a[i]);            if(a[i] == 0)                flag = true;        }        if(flag)        {            printf("No\n");            continue;        }        sort(a,a+4);        LL sum = a[3];        int i;        for(i=0; i<3; i++)        {            sum -= a[i];            if(sum < 0)                break;        }        if(i != 3)            printf("Yes\n");        else            printf("No\n");    }    return 0;}


0 0
原创粉丝点击