Problem 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
Problem 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
C++队列实现
#include<stdio.h>
#include<string>
#include<queue>
#include<iostream>
using namespace std;
int main()
{
int n = 0; //三角形个数
double item;
double a,b,c;
queue<double> numbers; //定义一个队列
cout<<"请输入三角形个数:"<<endl;
cin>>n;
cout<<"请输入三角形的边长(小于1000):"<<endl;
for(int i = 0;i<n*3;i++){
cin>>item;
if(item>1000||item<0){
cout<<"输入数据超过边界值,请重新输入"<<endl;
return -1;
}
numbers.push(item); //依次放入队列中
}
while(!numbers.empty()){
a = numbers.front(); //提取第一个元素
numbers.pop(); //删除第一个元素
b = numbers.front();
numbers.pop();
c = numbers.front();
numbers.pop();
if((a+b)>c&&(a+c)>b&&(b+c)>a)
cout<<"YES"<<endl;
else
cout<<"NO"<<endl;
}
return 0;
}