Problem Description
给出两个三角形的三条边,判断是否相似。
Input
多组数据,给出6正个整数,a1,b1,c1,a2,b2,c2,分别代表两个三角形。(边长小于100且无序)
Output
如果相似输出YES,如果不相似输出NO,如果三边组不成三角形也输出NO。
Sample Input
1 2 3 2 4 6 3 4 5 6 8 10 3 4 5 7 8 10
Sample Output
NO YES NO
tips:先排好顺序,然后再进行是否能构成三角形以及对应的边是否成比例即可,在判断相似的时候最好用乘法来判断,比较方便些;
import java.util.*;
class Judge{
public int su(int a,int b,int c) {
if((a+b>c)&&(c-b<a))
return 1;
else
return 0;
}
public int ju(int a1,int b1,int c1,int a2,int b2,int c2) {
if((a1*b2==b1*a2)&&(b1*c2==c1*b2))
return 1;
else
return 0;
}
}
public class Main
{
public static void main(String[] args) {
Scanner cin=new Scanner(System.in);
Judge j=new Judge();
int a1,b1,c1,a2,b2,c2,t;
while(cin.hasNext()) {
a1=cin.nextInt();
b1=cin.nextInt();
c1=cin.nextInt();
a2=cin.nextInt();
b2=cin.nextInt();
c2=cin.nextInt();
if(a1 > c1){
t = a1; a1 = c1; c1 = t;
}
if(b1 > c1){
t = b1; b1 = c1; c1 = t;
}
if(a1 > b1){
t = a1; a1 = b1; b1 = t;
}
if(a2 > c2){
t = a2; a2 = c2; c2 = t;
}
if(b2 > c2){
t = b2; b2 = c2; c2 = t;
}
if(a2 > b2){
t = a2; a2 = b2; b2 = t;
}
if(j.su(a1, b1, c1)==1&&j.su(a2, b2, c2)==1) {
if(j.ju(a1, b1, c1, a2, b2, c2)==1)
System.out.println("YES");
else
System.out.println("NO");
}
else
System.out.println("NO");
}
}
}