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
import java.util.Arrays;
import java.util.Scanner;
class Triangle{
int a, b, c;
int flag;
public Triangle(int a[]) {
Arrays.sort(a);
this.a = a[0];
this.b = a[1];
this.c = a[2];
if(this.a+this.b>this.c&&this.a+this.c>this.b&&this.b+this.c>this.a) {
flag = 1;
}
else {
flag = 0;
}
}
public boolean similar(Triangle t) {
if((this.a*t.b==this.b*t.a) && (this.b*t.c==this.c*t.b) && (this.a*t.c==this.c*t.a)) {
return true;
}
else {
return false;
}
}
}
public class Main {
public static void main(String[] args) {
Scanner reader = new Scanner(System.in);
int a[] = new int[3];
int b[] = new int[3];
while(reader.hasNext()) {
for(int i=0; i<3; i++)
a[i] = reader.nextInt();
for(int i=0; i<3; i++)
b[i] = reader.nextInt();
Triangle aa = new Triangle(a);
Triangle bb = new Triangle(b);
if(aa.similar(bb)&&aa.flag==1&&bb.flag==1) {
System.out.println("YES");
}
else {
System.out.println("NO");
}
}
}
}