1408191710-hd-Just A Triangle.cpp

Just A Triangle

Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)

Total Submission(s): 2120 Accepted Submission(s): 1404


 

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

43 4 52 2 3 1 4 44 6 3

 


 

Sample Output

goodperfectperfectjust a triangle

 


 

 

题目大意

      给你三个数,如果可以组成直角三角形,就输出good,如果可以组成等腰三角形,就输出perfect,如果不符合这两种情况就输出just a triangle。

 

额外收获

       1、判断是否可以组成三角形:

            两边之和大于第三边&&两边之差小于第三边

       2、warm up     热身

 

代码

<span style="font-size:18px;">#include<stdio.h>
#include<algorithm>
using namespace std;
int s[5];
int main()
{
	int n;
	int a,b,c;
	scanf("%d",&n);
	while(n--)
	{
		scanf("%d%d%d",&s[0],&s[1],&s[2]);
		sort(s,s+3);
		if(s[0]+s[1]>s[2]&&s[2]-s[1]<s[0])
		{
			if(s[0]*s[0]+s[1]*s[1]==s[2]*s[2])
			    printf("good\n");
			else if(s[0]==s[1]||s[0]==s[2]||s[1]==s[2])
			    printf("perfect\n");
			else
			    printf("just a triangle\n");
		}
	}
	return 0;
}</span>


 

你可能感兴趣的:(1408191710-hd-Just A Triangle.cpp)