hdu4523威威貓系列故事——過生日

威威貓系列故事——過生日

Time Limit: 500/200 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)
Total Submission(s): 1130    Accepted Submission(s): 305


Problem Description
  2月29號是威威貓的生日,由於這個日子非常特殊,4年才一次,所以生日這天許多朋友都前往威威貓家祝賀他的生日。
  大家給威威貓買了一個非常大非常大的蛋糕,蛋糕的形狀是一個有n條邊的凸多邊形,可是威威貓的審美觀有一點奇怪,他只喜歡有m條邊的蛋糕,所以他要夥伴們把這個蛋糕切p次,然後給他一個只有m條邊的新蛋糕。這下大家急了,這不是坑爹嗎,審美觀崎嶇作怪。
  假設蛋糕可看成一個平面含n條邊的凸多邊形,每一刀必須沿直線切下去,p刀之後能給威威貓切出一個m條邊的蛋糕嗎?

 

Input
多組測試數據,每組佔一行,包含3個整數n, m, p(含義如上)。
[Technical Specification]
3 <= n <= 10^100
0 < m <= 10^100
0 <= p <= 10^100
 

Output
每組測試數據,如果能夠切出威威貓喜歡的蛋糕,請輸出"YES",否則請輸出"NO";
每組數據輸出一行。
 

Sample Input
4 5 1
 

Sample Output
YES
java大數;其實只要一下幾種情況:
m<3 no;
n==m yes;
n<m if(n+p=>m) yes else no;
n>m if(p>1)yes else no;
java大數還是蠻方便的。
import java.math.BigInteger;
import java.util.Scanner;
public class Main {
	public static void main(String ags[])
	{BigInteger s1,s2,s3;
		Scanner sc=new Scanner(System.in);
		while(sc.hasNext())
		{
		s1=sc.nextBigInteger();
		s2=sc.nextBigInteger();
		s3=sc.nextBigInteger();
		if(s2.compareTo(BigInteger.valueOf(3))==-1)
		{
			System.out.println("NO");
			continue;
		}
		if(s2.compareTo(s1)==0)
		{
				System.out.println("YES");
				continue;
		}
		if(s2.compareTo(s1)==1)
		{
			if(s2.compareTo(s1.add(s3))!=1)
				System.out.println("YES");
			else
				System.out.println("NO");
			continue;
		}
		if(s1.compareTo(s2)==1)
			{
				if(s3.compareTo(BigInteger.valueOf(1))>-1)
					System.out.println("YES");
				else
					System.out.println("NO");
			}
		
		}
	}
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章