杭电-2039

三角形

Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 129459 Accepted Submission(s): 41583


Problem Description


给定三条边,请你判断一下能不能组成一个三角形。


Input


输入数据第一行包含一个数M,接下有M行,每行一个实例,包含三个正数A,B,C。其中A,B,C <1000;


Output


对于每个测试实例,如果三条边长A,B,C能组成三角形的话,输出YES,否则NO。


Sample Input


2
1 2 3
2 2 2


Sample Output


NO
YES
题解:显然这道题是一道水题,但是有一个陷阱,刚好我就踩坑了,题目中说的是正数A,B,C,而我却思维定式的认为全是整数,于是WA了不知道多少次,还是太菜了

代码如下:

#include<cstdio>
int main()
{
    int n;
    scanf("%d",&n);
    double a,b,c;
    while(n--)
    {
        scanf("%lf%lf%lf",&a,&b,&c);
        double t;
        if(a>b)
        {
            t=a;
            a=b;
            b=t;
        }
        if(b>c)
        {
            t=b;
            b=c;
            c=t;
        }
        if(a>c)
        {
            t=a;
            a=c;
            c=t;
        }
        if(a+b>c&&c-b<a)
            printf("YES\n");
        else
            printf("NO\n");
    }
    return 0;
}

小白心得

猜你喜欢

转载自blog.csdn.net/boliu147258/article/details/88037688