题目:
C - 三角形
Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u
Submit
Status
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
题意:
给出几组边,判断是否为三角形。
PS:本来很简单的一道题,愣是错了10多次,醉了,开始时我只是判断(a+b)>c这一种情况,遗漏了两种情况,但还是WA,看来很多次题目,仍旧不知道怎么回事,最后发现是正数,包括浮点数!!!
汗!!!!
#include <iostream>
using namespace std;
int main(){
int m;
double a, b, c;
while(cin>>m){
for(int i=0; i<m; i++){
cin>>a>>b>>c;
if( ((a+b)>c) && ((a+c)>b) && ((b+c)>a) && (a-b)<c && (a-c)<b && (b-c)<a)
cout<<"YES"<<endl;
else
cout<<"NO"<<endl;
}
}
return 0;
}