Harmonious Contest

Harmonious Contest
Time Limit: 1000ms, Special Time Limit:2500ms, Memory Limit:65536KB
Total submit users: 18, Accepted users: 18
Problem 10864 : No special judgement
Problem description
  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.
 

Input
  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.
 

Output
  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.
 
Sample Input
4
3 4 4
3 4 5
3 4 6
3 4 7
Sample Output
Acute triangle
Right triangle
Obtuse triangle
NO
Problem Source
  2011ACM国际大学生程序设计竞赛湘潭邀请赛

题意:判断一个三角形是锐角钝角还是直角三角形。

思路:判断a^2+b^2与c^2的大小关系,a<c,b<c;

代码:

#include <iostream>
#include <algorithm>

using namespace std;

int main()
{
    int t;
    cin>>t;
    while(t--)
    {
        int a,b,c;
        cin>>a>>b>>c;
        int p[4];
        p[1]=a,p[2]=b,p[3]=c;
        int ab=a+b,ac=a+c,bc=b+c,ab1=abs(a-b),ac1=abs(a-c),bc1=abs(b-c);
        if((ab>c)&&(ac>b)&&(bc>a)&&(ab1<c)&&(ac1<b)&&(bc1<a))
        {
             sort(p+1,p+4);
             if((p[1]*p[1]+p[2]*p[2])>p[3]*p[3]) cout<<"Acute triangle"<<endl;
             else if((p[1]*p[1]+p[2]*p[2])==p[3]*p[3]) cout<<"Right triangle"<<endl;
             else  cout<<"Obtuse triangle"<<endl;
        }else cout<<"NO"<<endl;
    }
    return 0;
}

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值