首页 > 代码库 > ACM setp

ACM setp

Just A Triangle

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 2273    Accepted Submission(s): 1503
 
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
 
 
 
不用考虑不能构成三角形的情况,所以连判断是不是三角形的条件都不用加。所以简单了。下面上代码。
#include <stdio.h>
#include <string.h>
int main()
{
	int n,i;
	scanf("%d",&n);
	while(n--)
	{
		int a,b,c;
		scanf("%d%d%d",&a,&b,&c);
		if(a*a==b*b+c*c ||b*b==a*a+c*c || c*c==a*a+b*b)
			printf("good\n");
		else if(a==b ||b==c ||a==c )
			printf("perfect\n");
		else
			printf("just a triangle\n");

	}
	return 0;
}

 

ACM setp