兰州烧饼
兰州烧饼
时间限制:1000 ms | 内存限制:65535 KB
难度:1
- 描述
- 烧饼有两面,要做好一个兰州烧饼,要两面都弄热。当然,一次只能弄一个的话,效率就太低了。有这么一个大平底锅,一次可以同时放入k个兰州烧饼,一分钟能做好一面。而现在有n个兰州烧饼,至少需要多少分钟才能全部做好呢?
- 输入
- 依次输入n和k,中间以空格分隔,其中1 <= k,n <= 100000
- 输出
- 输出全部做好至少需要的分钟数
- 样例输入
3 2
- 样例输出
3
- 提示
如样例,三个兰州烧饼编号a,b,c,首先a和b,然后a和c,最后b和c,3分钟完成
思路:n个烧饼共有2*n个面,一次烤k个。
如果k>=n,则需2分钟。
如果k<n
1.2*n%k==0,则需要2*n%k分钟。
2.2*n%k!=0,则需要2*n%k+1分钟。
代码:
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n,k;
while(scanf("%d%d",&n,&k)!=EOF)
{
if(k>=n)
cout<<'2'<<endl;
else if(2*n%k==0)
cout<<2*n/k<<endl;
else cout<<2*n/k+1<<endl;
}
return 0;
}
第一次做的错误思路,是把一个烧饼烤好后再去烤另一个烧饼,这不是最快的,就拿题中给出的样例来说:
如果按人家的最快的方法来烤,则为
a,b
a,c
b,c
花费3分钟
而按照你的方法来烤就是
a,b
a,b
c
c
需要4分钟,应为一个烧饼的正反面不能同时烤,而人家是多出来的b,c的剩余的一面可以同时烤。
也就说最快的方法不是把一锅烧饼的正反面全部烤完后再去烤另一个,而是不固定的
你的方法2*n%k+2;(2代表两分钟,都是先烤好一个,再去烤新的)错误!!!!!
正确方法2*n%k+1;(2*n代表两面,用最快的方法烤而不是烤完一个再去烤另一个)正确
相关阅读
7月17日国家市场监督管理总局广告司司长刘敏一行莅临微领地网络兰州运营中心参观考察。(右一:刘敏)不到一个月,8月15日又迎来了国
23年。220万的房子。2辆奥迪A6。这一切,仅仅是靠卖烧饼赚来的,而且只是浮出水面的钱而已。不少人都被杭州烧饼哥的励志创业事迹给轰
10月29日,互联网维修上门服务开创者,中国最大的移动互联网技能蓝领平台万能小哥正式进驻兰州,并举行盛大开城仪式。万能小哥运营总监
关于湖沟烧饼有个传说,楚汉传说: 当年陈胜吴广起义占领大泽乡,临近的农民听到这个消息,都拿出粮食来慰劳他们.送来烧饼的大婶。
烧饼修改器最新版2.2内置加速器,天天爱消除这款游戏,顺便教大家刷一下这个游戏的高分。这里就为大家带来如何使用新版的烧饼修改器v