LPOJ 广外2019新生赛 E题 ka ge bu n shi n no jyu tsu(思维)

题目

Hongrock为了打败宿敌潘萌萌学会了分身术,但Hongrock学的分身术只学了半桶水,并不能像漩涡鸣人一样分出和本体相同的能力的分身,他只能将自己的查克拉分摊到其他分身上,即所有分身的查克拉之和等于原本拥有的查克拉。但毫无疑问,这弱爆了。Hongrock为了充分运用自己学回来的新技能,他又找了仙人学会了Hongrock连弹,这是一个组合技,可以用自己的分身之间的配合,组合出毁天灭地的招式。而这个招式的伤害等于所有分身查克拉的乘积。那么问题来了,Hongrock可能否打败宿敌潘萌萌呢?(Hongrock可以分出任意多个分身,每个分身的查克拉都必须是正整数,即每个分身都要分配大于等于1的查克拉)

思路

如果查克拉为2或者3,肯定不能继续拆分,不然它的乘积会变小
如果是4,那么拆成 2 ∗ 2 2*2 22是等价的,拆成 1 ∗ 3 1*3 13是不好的
如果是5,拆成 2 ∗ 3 2 *3 23是更优的
也就是说,对于大于4的,我一直拆出3,直到它小于等于4
结果就是 3 ∗ 3 ∗ 3 ∗ … … ∗ 剩 余 的 数 字 3*3*3*……*剩余的数字 333

代码

#include <cstdio> 
#include <cstring>
using namespace std;
typedef long long ll;
int main()
{
	ll a, b;
	scanf("%lld %lld", &a, &b);
	ll ans = 1;
	if(a == 0 && b == 0)
	{
		return 0 * printf("Yes\n");
	}
	else if(a == 0 && b > 0)
	{
		return 0 * printf("No\n");
	}
	else
	{
		while(a > 4)
		{
			ans *= 3;
			a -= 3;
			if(ans >= b)
			{
				return 0 * printf("Yes\n");
			}
		}	
		ans *= a;
		if(ans >= b)
		{
			return 0 * printf("Yes\n");
		}
	}
	if(ans >= b)
	{
		return 0 * printf("Yes\n");
	} 
	else
	{
		printf("No\n");	
	}
	return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值