这题主要是判定三角形。 根据三角形的性质,三条边能够组成一个三角形的条件是任意两边之和大于第三边。因此,可以通过以下步骤来判定: 1.将三条边按非递减顺序排序; 2.如果最短的两条边之和大于最长的边,则这三条边能够组成一个三角形;否则,不能组成。 注意:题目说是三个正数,不要想当然写int,换成float或double就AC了
#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
int main()
{
int m;
cin >> m;
double arr[3];
while(m--) {
for(int i = 0; i < 3; ++i) {
cin >> arr[i];
}
sort(arr, arr + 3);
if(arr[0] + arr[1] > arr[2]) {
cout << "YES" << endl;
} else {
cout << "NO" << endl;
}
}
return 0;
}