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.
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).
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
//简单到无话可说
#include <iostream>
using namespace std;
int main()
{
int n,a,b,c;
cin >> n;
while(n--)
{
cin >> a >> b >> c;
if(a+b > c && a+c > b && b+c > a)
{
if(a == b || b == c || a == c)
cout << "perfect" << endl;
else
if(a*a+b*b==c*c || b*b+c*c==a*a || a*a+c*c==b*b )
cout << "good" << endl;
else
cout << "just a triangle" << endl;
}
}
return 0;
}