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 |
import java.io.FileInputStream;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.io.OutputStreamWriter;
import java.io.StreamTokenizer;
public class Main implements Runnable
{
private static final boolean DEBUG = false;
private BufferedReader cin;
private PrintWriter cout;
private StreamTokenizer tokenizer;
private int a, b, c;
private void init()
{
try {
if (DEBUG) {
cin = new BufferedReader(new InputStreamReader(
new FileInputStream("d:\\OJ\\uva_in.txt")));
} else {
cin = new BufferedReader(new InputStreamReader(System.in));
}
cout = new PrintWriter(new OutputStreamWriter(System.out));
tokenizer = new StreamTokenizer(cin);
} catch (Exception e) {
e.printStackTrace();
}
}
private String next()
{
try {
tokenizer.nextToken();
if (tokenizer.ttype == StreamTokenizer.TT_EOF) return null;
else if (tokenizer.ttype == StreamTokenizer.TT_NUMBER) {
return String.valueOf((int)tokenizer.nval);
} else return tokenizer.sval;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
private void input()
{
a = Integer.parseInt(next());
b = Integer.parseInt(next());
c = Integer.parseInt(next());
}
private void solve()
{
if ((a * a + b * b == c * c) || (a * a + c * c == b * b) || (b * b + c * c == a * a)) {
cout.println("good");
} else if ((a == b) || (b == c) || (a == c)) {
cout.println("perfect");
} else {
cout.println("just a triangle");
}
cout.flush();
}
public void run()
{
init();
int t = Integer.parseInt(next());
while (t-- > 0) {
input();
solve();
}
}
public static void main(String[] args)
{
new Thread(new Main()).start();
}
}