相似三角形

时间: 1ms        内存:128M

描述:

给出两个三角形的三条边,判断是否相似。

输入:

多组数据,给出6正个整数,a1,b1,c1,a2,b2,c2,分别代表两个三角形。(边长小于100且无序)

输出:

如果相似输出YES,如果不相似输出NO,如果三边组不成三角形也输出NO。

示例输入:

1 2 3 2 4 6
3 4 5 6 8 10
3 4 5 7 8 10

示例输出:

NO
YES
NO

提示:

参考答案(内存最优[1092]):

#include<stdio.h>
int main(){
	int a,b,c,d,e,f,n;
	while(scanf("%d%d%d%d%d%d",&a,&b,&c,&d,&e,&f)!=EOF){
	if(a<b){
		n=b;b=a;a=n;
	}
	if(a<c){
		n=c;c=a;a=n;
	}
	if(b<c){
		n=c;c=b;b=n;
	}
	if(d<e){
		n=e;e=d;d=n;
	}
	if(d<f){
		n=f;f=d;d=n;
	}
	if(e<f){
		n=f;f=e;e=n;
	}
	if((a*e==b*d&&a*f==d*c)&&(a+b>c&&a+c>b&&b+c>a)&&(d+e>f&&d+f>e&&e+f>d))
		printf("YES\n");
		else
		printf("NO\n");
	}
	return 0;
}

参考答案(时间最优[0]):

#include<stdio.h>
int main(){
	int a,b,c,d,e,f,n;
	while(scanf("%d%d%d%d%d%d",&a,&b,&c,&d,&e,&f)!=EOF){
	if(a<b){
		n=b;b=a;a=n;
	}
	if(a<c){
		n=c;c=a;a=n;
	}
	if(b<c){
		n=c;c=b;b=n;
	}
	if(d<e){
		n=e;e=d;d=n;
	}
	if(d<f){
		n=f;f=d;d=n;
	}
	if(e<f){
		n=f;f=e;e=n;
	}
	if((a*e==b*d&&a*f==d*c)&&(a+b>c&&a+c>b&&b+c>a)&&(d+e>f&&d+f>e&&e+f>d))
		printf("YES\n");
		else
		printf("NO\n");
	}
	return 0;
}

题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。