杭电 OJ 1049 WA,是算法错了吗,题目给的两组测试数据都能出来

#include<stdio.h>intmain(){intn,u,d,m;while(scanf("%d",&n)!=EOF){if(n==0)break;scanf(... #include<stdio.h>
int main()
{
int n,u,d,m;
while(scanf("%d",&n)!=EOF)
{if(n==0)
break;
scanf("%d %d",&u,&d);
if(d>=u)
break;
m=2*(n-u)/(u-d);
if((n-u)%(u-d)!=0)
{m=m+1;}
printf("%d\n",m+1);
}
}
展开
 我来答
dalewzm
2012-03-23 · TA获得超过105个赞
知道答主
回答量:128
采纳率:0%
帮助的人:154万
展开全部
确实是算法错了,在(n-u)%(u-d)!=0时,应该是m=2*((n-u)/(u-d)+1)+1
富港检测技术(东莞)有限公司_
2024-05-27 广告
ISTA3E程序是对相同产品的集合包装的综合模拟性能测试,集合包装件被定义为将一个产品、多个产品或包装件放置在滑板或托盘上,固定在一起或是作为一个单元运输。例如:一台机器由带瓦楞底托的托盘上、瓦楞侧围、顶盖包装,用缠绕膜缠绕在托盘上。用于评... 点击进入详情页
本回答由富港检测技术(东莞)有限公司_提供
百度网友28b4182
2012-03-23 · TA获得超过7218个赞
知道大有可为答主
回答量:4847
采纳率:100%
帮助的人:1785万
展开全部
用模拟法,你那样不对的
#include<stdio.h>
main()
{
int n,u,d,sum;
while(scanf("%d%d%d",&n,&u,&d)!=EOF&&n!=0)
{
sum=0;
while(n>u)
{
sum+=2;
n+=d-u;
}
if(n==0)
{
sum-=1;
}
if(n>0)
{
sum+=1;
}
printf("%d\n",sum);
}
}
追问
可以解释一下程序的意思吗,这个题目本身我就没理解很透彻
追答
你那样算是不对的,要一步步算,因为最后一天的时候一爬就爬上去了,不用再掉下来的
来自:求助得到的回答
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式