1. 程式人生 > >hdu之三角形

hdu之三角形

三角形

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


Problem Description給定三條邊,請你判斷一下能不能組成一個三角形。
Input輸入資料第一行包含一個數M,接下有M行,每行一個例項,包含三個正數A,B,C。其中A,B,C <1000;
Output對於每個測試例項,如果三條邊長A,B,C能組成三角形的話,輸出YES,否則NO。
Sample Input2 1 2 3 2 2 2
Sample OutputNO YES

這道題一共有兩個關鍵點:

一:如何實現讓兩邊之和大於最長的邊;在這裡我更喜歡直接用sort排序來直接找最大值; 

二:注意條件是正數,這就代表可以是小數,用double;

上程式碼:

#include<iostream>
#include<algorithm>
using namespace std;
double a[3];
int main()
{
	int i,n;
	cin>>n;
	while(n--)
	{
		//int a,b,c;
		//gets(a);
		for(i=0;i<3;i++) cin>>a[i];
		sort(a,a+3);
		if(a[0]+a[1]>a[2])  puts("YES");
		else puts("NO"); 
	}
	return 0;
}