1. 程式人生 > >Java實驗之判斷相似三角形

Java實驗之判斷相似三角形

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");
		}

	}
	  
}