一道pascal问题,就是搞不懂他那个解释是什么意思。题目如下:

贮油点一辆卡车欲穿过1000km的沙漠,卡车耗油为1L/km,卡车总载油能力为500L,显然卡车装一次油是过不了沙漠的。因此司机必须设法在沿途建立若干个贮油点,使卡车能顺... 贮油点一辆卡车欲穿过1000km的沙漠,卡车耗油为1L/km,卡车总载油能力为500L,显然卡车装一次油是过不了沙漠的。因此司机必须设法在沿途建立若干个贮油点,使卡车能顺利穿越沙漠,试问司机如何建立这些贮油点?每一贮油点应存多少油,才能使卡车以消耗最少汽油的代价通过沙漠(结果保留小数点后十位)?编程计算及打印建立的贮油点序号,各贮油点距沙漠边沿出发的距离以及存油量。{有打印格式的要求,但这儿没写了,程序里有。}

分析:{大概就是说要从后往前推的}。
设way[i]表示第i个贮油点到终点(i=0)的距离,oil[i]表示第i个贮油点的贮油量。
从贮油点i向贮油点i+1倒推的方法是:卡车在贮油点i和贮油点i+1间往返若干次,卡车每次返回i+1点时应该正好耗尽汽油,而每次从i+1点出发时又必须装足500L汽油。两点之间的距离必须满足在耗油最少的条件下,使i点贮足i*500L汽油的要求(0≤i≤n-1)。具体地说,第一个贮油点i=1应距终点i=0处500km,且在该点贮藏500L汽油,这样才能保证卡车能由i=1处到达终点i=0处,这就是说dis[i]=500;oil[i]=500。为了在i=1处贮藏500L汽油,卡车至少从i=2处开两趟满载油的车至i=1处,所以i=2处至少贮有2*500L汽油,即oil[2]=500*2=1000;另外,再加上从i=1返回至i=2处的一趟空载,合计往返3次。三次往返路程的耗油量按最省要求只能为500L,即d12=500/3km,dis[2]=dis[1]+d12=dis[1]+500/3。此时的状况如下图所示。为了在i=2处贮藏1000L汽油,卡车至少从i=3处开三趟满载油的车至i=2处。所以i=3处至少贮有3*500L汽油,即oil[3]=500*3=1500。加上i=2至i=3处的二趟返程空车,合计5次。路途耗油亦应500L,即d23=500/5, dis[3]=dis[2]+d23=dis[2]+500/5;此时的状况如下图所示。依次类推,为了在i=k处贮藏k*500L汽油,卡车至少从i=k+1处开k趟满载车至i=k处,即oil[k+1]=(k+1)*500=oil[k]+500,加上从i=k返回i=k+1的k-1趟返程空间,合计2k-1次。这2k-1次总耗油量按最省要求为500L,即dk,k+1=500/(2k-1),dis[k+1]=dis[k]+dk,k+1=dis[k]+500/(2k-1);最后,i=n至始点的距离为1000-dis[n],oil[n]=500*n。为了在i=n处取得n*500L汽油,卡车至少从始点开n+1次满载车至i=n,加上从i=n返回始点的n趟返程空车,合计2n+1次,2n+1趟的总耗油量应正好为(1000-dis[n])*(2n+1),即始点藏油为oil[n]+(1000-dis[n])*(2n+1)。
{这一大堆文字我都不想看了,真的是......}就是搞不懂是不是第一个贮油点为500,第二个贮油点为1000,第三个为1500?第i个为i*500啊?
假如是的话,那么这题有什么意思吗?他总共才1000km,一次都可以走500km了。。。到底是个啥意思啊?
大概是这样子的图吧。
展开
 我来答
bhtzu
2015-03-20 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8088
采纳率:85%
帮助的人:4298万
展开全部
“卡车总载油能力为500L”,其实,这句话里面透露了一个信息:这个车是运油的车,而“贮油点”的油哪里来的?答案应该是:卡车运过来的!

因此我认为,这个题目不会是500+500这个简单的问题,而是如何设置“点”,才能让油车在往返给“点”送油的前提下,通过沙漠的问题。也就是卡车不是一次通过了沙漠,而需要返回去带更多的油。
嗯,从你复制的分析看,应该是这样吧,否则。。。这题确实太弱了。
更多追问追答
追问

看看这个图吧,他应该是每一个点都要储存一定的油,致使最后一次通过去啊。。我就是不知道这道题到底是个什么意思啊?

追答
车上最多500油,到了i1点,放下油之后,要返回i0(起点,不是终点)起点补足500跑到i2,放下了返回i0(也许中间还要停靠i1加减油)。
我认为,流程应该是这个样子的。图反过来画是对的,需要逆向推导。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式