今天真的是要哭了,一天都没做什么事,晚上做了几道题目都是不过,最可恨的是有道队列的题目一直是输出错误,那么简单的输出我都不知道错在哪,今天没时间了,明天再看看吧,就找了一道水题做了,还是全英文的,要不是看输出还不知道意思,看样子是要学英语了。
描述
This is a magic country
Harmonious society
And harmonious people
This is a wonderful contest
Harmonious students
And harmonious problems.
This is the most harmonious problem, and the question is as following:
Given three positive integers A, B and C (0<A,B,C<=100) which denote the length of three edges, please tell me whether they can make up a legal triangle.输入
The first line is an integer T(T<=100) which indicates the number of test cases.
Each test case consists of three integers A,B and C in a line.输出
For each test case please output the type of triangle(Acute triangle、Right triangle or Obtuse triangle)if A,B and C can make up a legal triangle, and output "NO" otherwise. One line per case.
样例输入
4
3 4 4
3 4 5
3 4 6
3 4 7
3 4 4
3 4 5
3 4 6
3 4 7
样例输出
Acute triangle
Right triangle
Obtuse triangle
NO
Right triangle
Obtuse triangle
NO
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
int nl;
cin>>nl;
while(nl--)
{
int tp[3];
cin>>tp[0]>>tp[1]>>tp[2];
sort(tp,tp+3);//偷懒了,直接sort排序了
if(tp[0]+tp[1]<=tp[2])
{ cout<<"NO"<<endl; continue; };
if(tp[0]*tp[0] + tp[1]*tp[1] == tp[2]*tp[2])
cout<<"Right triangle"<<endl;
else if(tp[0]*tp[0]+tp[1]*tp[1]>tp[2]*tp[2])
cout<<"Acute triangle"<<endl;
else
cout<<"Obtuse triangle"<<endl;
}
return 0;
}