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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值