相似三角形
Time Limit: 1000 ms
Memory Limit: 65536 KiB
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
Hint
先将三条边排序
Source
import java.util.*;
public class Main
{
public static void main(String args[])
{
Scanner cin = new Scanner(System.in);
double a, a1,a2,a3,b1,b2,b3,b,t;
while(cin.hasNext())
{
a1 = cin.nextDouble();
a2 = cin.nextDouble();
a3 = cin.nextDouble();
b1 = cin.nextDouble();
b2 = cin.nextDouble();
b3 = cin.nextDouble();
if(a1>a2)
{
t = a1;
a1 = a2;
a2 = t;
}
if(a1>a3)
{
t = a1;
a1 = a3;
a3 = t;
}
if(a2>a3)
{
t = a2;
a2 = a3;
a3 = t;
}
if(b1>b2)
{
t = b1;
b1 = b2;
b2 = t;
}
if(b1>b3)
{
t = b1;
b1 = b3;
b3 = t;
}
if(b2>b3)
{
t = b2;
b2 = b3;
b3 = t;
}
if((a1+a2>a3 && a1+a3>a2 && a2+a3 >a1)&&(b1+b2>b3 && b1+b3>b2 && b2+b3>b1))
{
a = a3/b3;
b = a2/b2;
t = a1/b1;
if(a==b && b==t) System.out.println("YES");
else System.out.println("NO");
}
else System.out.println("NO");
}
cin.close();
}
}