当前位置: 代码迷 >> 综合 >> Just A Triangle
  详细解决方案

Just A Triangle

热度:47   发布时间:2023-11-23 08:09:49.0
Problem Description
This is an easy problem, just for you to warm up.
  Give you three edges of a triangle. Can you tell me which kind of triangle it stands for?
If it’s a right triangle(直角三角形), please output “good”. If it’s a isosceles triangle(等腰三角形), please output “perfect”. Otherwise, please output “just a triangle”. You may suppose the input is legal.
Input
The first line contains an integer t means the number of test cases.
The each case contains three integers a, b, c in a line which stands for the length of the three edges.
(0 <a, b, c < 300).
Output
For each case, output the answer in one line.
Sample Input
4
3 4 5
2 2 3 
1 4 4
4 6 3
Sample Output
good
perfect
perfect
just a triangle
 
Source
HDU 2009-11 Programming Contest
Recommend
lcy
题目分析
判断三角形的类型,并按给定要求输出,直角三角形输出good,等腰三角形输出perfect,其他三角形输出just a triangle
解题思路
水题,判断一下就行
源代码
#include<iostream>
#include<string>
#include<algorithm>
#include<vector>
//#include<bits\stdc++.h>
using namespace std;
void solve()
{
    vector<int>vec(3);
    cin>>vec[0]>>vec[1]>>vec[2];
    sort(vec.begin(),vec.end());
    if(vec[0]*vec[0]+vec[1]*vec[1]==vec[2]*vec[2])
        cout<<"good"<<endl;
   else
 if(vec[0]==vec[1]||vec[1]==vec[2])
  cout<<"perfect"<<endl;
 else
  cout<<"just a triangle"<<endl;
}
int main()

 int t;
 cin>>t;
 while(t--)
 {
      solve();
 }
}