兰州烧饼
时间限制:1000 ms | 内存限制:65535 KB
难度:1
描述
烧饼有两面,要做好一个兰州烧饼,要两面都弄热。当然,一次只能弄一个的话,效率就太低了。有这么一个大平底锅,一次可以同时放入k个兰州烧饼,一分钟能做好一面。而现在有n个兰州烧饼,至少需要多少分钟才能全部做好呢?
输入
依次输入n和k,中间以空格分隔,其中1 <= k,n <= 100000
输出
输出全部做好至少需要的分钟数
样例输入
3 2
样例输出
3
代码如下:
#include <stdio.h>
int main()
{
int n,m;
while(scanf("%d%d",&n,&m)!=EOF)
{
if(n<=m)
printf("%d\n",2);
else if(n*2%m!=0)
printf("%d\n",(n*2/m)+1);
else if(n*2%m==0)
printf("%d\n",(n*2/m));
}
return 0;
}
此题可采用烙饼问题公式:
总时间=饼数× 2÷每锅的可烙的数量×烙每面的时间
如果时间不为整,可加一取整。
兰州烧饼问题解析
本文探讨了一种优化的算法来解决兰州烧饼烙制问题,即如何利用一个能同时烙制k个烧饼的大平底锅,计算烙熟n个烧饼所需的最短时间。通过分析给出的烙饼数量与锅的容量之间的关系,提出了一种高效的计算方法。
246

被折叠的 条评论
为什么被折叠?



