美文网首页
HDU-三角形

HDU-三角形

作者: 一座城_WanG | 来源:发表于2018-12-09 19:50 被阅读0次

    三角形

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

    Problem Description

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

    Input

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

    Output

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

    Sample Input

    <pre style="font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; white-space: pre-wrap; word-wrap: break-word;">

    2
    1 2 3
    2 2 2

    </pre>

    Sample Output

    <pre style="font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; white-space: pre-wrap; word-wrap: break-word;">

    NO
    YES

    </pre>

    Author

    linle

    Source

    2005实验班短学期考试

    Recommend

    lcy

    问题链接(http://acm.hdu.edu.cn/showproblem.php?pid=2039)

    问题简述:输入一个M值,则需要判断M个三条边得数据能否构成三角形,如果能,则输出“YES”,反之则输出“NO”;

    问题分析:通过判断任意两边之和大于第三边且这两边的之差的绝对值小于第三边来判断给出的三条边的数据能否构成三角形。

    程序分析:用if和&&及||符号对条件进行限制,从而到达目的

    AC程序C++如下:

    #include<iostream>
    using namespace std;
    int panduan(double &A, double& B, double& C)
    {
        if ((A + B > C&&(A - B<C ||B-A<C))&&( A + C>B&&(A - C<B||C-A<B)) &&(B + C>A&&(B - C < A||C-B<A)))
        {
            return 1;
        }
        else return 0;
    } 
    int main()
    {
        double A, B, C;
        int M;
        cin >> M;
        for (int i = 0; i < M; i++)
        {
            cin >> A >> B >> C;
            if (panduan(A, B, C))   cout << "YES" << endl;
            else cout << "NO" << endl;
        }
    }
    

    相关文章

      网友评论

          本文标题:HDU-三角形

          本文链接:https://www.haomeiwen.com/subject/fvykhqtx.html