注册 登录
编程论坛 C++教室

一道关于做烙饼的问题

zsy142857 发布于 2019-07-19 17:13, 2239 次点击
我想知道一下,为什么我输入大部分数据输出都没有问题,但还是有部分数据输出错误答案啊
题目:现有n个饼和一个锅。饼2个面都要烙,锅一次只能烙k个饼,设烙一次需要1分钟。问最少需要多少时间?
#include<iostream>
using namespace std;
int n,k;
int main(){
    cin>>n>>k;
    int a=(n*2)/k;
    if((n*2)%k==0)cout<<(n*2)/k<<endl;
    else cout<<a+1<<endl;
    return 0;
}


(我的分已经被用完了
3 回复
#2
frafish2019-07-19 21:38
你仔细想想,你这样的假设只有考虑到n>=k的情况
一个饼要被煎两次不代表它可以当两个饼用啊
#3
rjsp2019-07-20 10:17
2楼说得对

if( n == 0 )
    0 分钟
else if( n < k )
    2 分钟
else
    (n*2+k-1)/k 分钟

前两者也可以合并变为 (n+k-1)/k*2
#4
zsy1428572019-07-20 21:04
原来是这样啊,非常感谢!!
1