HDU-三角形

三角形

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;
    }
}
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容