zcmu -- 3037(找规律)

3037: Block Towers

时间限制: 2 Sec  内存限制: 256 MB
提交: 42  解决: 18
[提交][状态][讨论版]

题目描述

Students in a class are making towers of blocks. Each student makes a (non-zero) tower by stacking pieces lengthwise on top of each other. nof the students use pieces made of two blocks and m of the students use pieces made of three blocks.

The students don’t want to use too many blocks, but they also want to be unique, so no two students’ towers may contain the same number of blocks. Find the minimum height necessary for the tallest of the students' towers.

输入

 The first line of the input contains two space-separated integers n and m (0≤n,m≤1000000, n+m>0)− the number of students using two-block pieces and the number of students using three-block pieces, respectively.

输出

 Print a single integer, denoting the minimum possible height of the tallest tower.

样例输入

1 3

样例输出

9

提示

 

 In the first case, the student using two-block pieces can make a tower of height 4, and the students using three-block pieces can make towers of height 3, 6, and 9 blocks. The tallest tower has a height of 9 blocks.

 

来源

 

[提交][状态][讨论版]

 

题意:有的人每次用2块砖头盖塔,有的人每次用3块砖头盖塔,输入n,m分别表示用2和3块砖头盖房子的人,要求每个人用尽量少的砖头盖出高度不同的塔。输出满足要求的情况下最高的塔的高度。

思路:2块砖头的最高的塔的高度是a=2*n,同理3块的是b=3*n,但是要考虑a和b是6的情况,因为6的倍数无法判断是2和3哪一个盖的塔,所以每次让较高的塔高占据6的倍数(注意c要不断更新)。

#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
typedef long long LL;
int main(void)
{
	LL n,m,c,a,b;
	while(~scanf("%lld %lld",&n,&m))
	{
		a=n*2;
		b=m*3;
		c=min(a,b);
		for(LL i=6;i<=c;i+=6)
		{
			if(a>b) b+=3;
			else a+=2;
			c=min(a,b);
		}
		printf("%lld\n",max(a,b));
	}
	return 0;
}

参考文章:https://blog.csdn.net/yu_ch_sh/article/details/50664415

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值