1047 - 判断三角形形状
时间限制 : 1 秒
内存限制 : 32 MB
给你三角形的三条边,你能告诉我它是哪种三角形吗?
如果是直角三角形,请输出“good”。如果是等腰三角形,请输出“perfect”。否则,请输出“just a triangle”。
题目保证输入数据合法。
题目输入
输入的第一行为一个整数t,表示测试样例的数量。
每组样例包含了三个整数a,b,c,代表了三角形的三条边的长度。(0<a,b,c<300)
题目输出
对于每组样例,输出结果,每组结果占一行。
输入/输出样例
输入格式
4 3 4 5 2 2 3 1 4 4 4 6 3
输出格式
good perfect perfect just a triangle
C语言解答
#include<stdio.h> int main() { int t,a,b,c; scanf("%d",&t); while(t--) { scanf("%d%d%d",&a,&b,&c); if(a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a) printf("good\n"); else if(a==b||a==c||b==c) printf("perfect\n"); else printf("just a triangle\n"); } return 0; }
C++解答
#include<stdio.h> int main() { int t,a,b,c; scanf("%d",&t); while(t--) { scanf("%d%d%d",&a,&b,&c); if(a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a) printf("good\n"); else if(a==b||a==c||b==c) printf("perfect\n"); else printf("just a triangle\n"); } return 0; }
Java解答
import java.text.DecimalFormat; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.Scanner; public class Main { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Scanner in = new Scanner(System.in); String[] zong = in.nextLine().split(" "); int start=Integer.parseInt(zong[0]); for(int i=0;i<start;i++){ String[] nei = in.nextLine().split(" "); int[] s=new int[3]; s[0]=Integer.parseInt(nei[0]); s[1]=Integer.parseInt(nei[1]); s[2]=Integer.parseInt(nei[2]); int over=check(s[0],s[1],s[2]); if(over==-1){ System.out.println("good"); } if(over==0){ System.out.println("just a triangle"); } if(over==1){ System.out.println("perfect"); } } } private static int check(int a, int b, int c) { // TODO Auto-generated method stub ArrayList<Integer> array = new ArrayList<Integer>(); array.add(a); array.add(b); array.add(c); Collections.sort(array); int d=0; int s1,s2,s3; s1=array.get(0); s2=array.get(1); s3=array.get(2); if((Math.pow(s1,2)+Math.pow(s2,2))==Math.pow(s3,2)){ d=-1; } if((s1==s2)||(s1==s3)||(s3==s2)){ d=1; } return d; } }
Python解答
allshape=[] t=input() for i in range(t): shape="just a triangle" abc=raw_input() abc=abc.split() for j in range(len(abc)): abc[j]=eval(abc[j]) for a,b,c in [(0,1,2),(1,2,0),(2,0,1)]: if abc[a]==abc[b]: shape="perfect" if abc[a]*abc[a]+abc[b]*abc[b]==abc[c]*abc[c]: shape="good" allshape.append(shape) for i in allshape: print i