| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2800 人关注过本帖, 1 人收藏
标题:这个最远距离怎么求?~
只看楼主 加入收藏
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
回复 8楼 azzbcc
对哦~可以原地等待这点我没有考虑到~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-03-02 16:47
yslief
Rank: 5Rank: 5
来 自:水泊
等 级:职业侠客
帖 子:57
专家分:340
注 册:2016-11-14
收藏
得分:0 
车子再多没有用吧,
程序代码:
#include<stdio.h>

int main(void)
{
    double M,  k;
    int n;
    scanf("%d%lf", &n, &k);
    
    double t=k/2;
    
    if(n==1)
     M=t;
    else if(n==2)
     M=t+t/2;
    else
     M=t+t/2+(t/2/2/2/2);
    
    printf("%.2lf", M);
    
    return 0;
}
2017-03-02 17:32
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
回复 12楼 yslief
虽然还没有验证最远距离是否正确~但能敲出代码已经感觉很厉害了~真是佩服~~

看看九九能不能理解~

你是怎么想出来的?~原理是什么?~

[此贴子已经被作者于2017-3-2 17:41编辑过]


[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-03-02 17:39
yslief
Rank: 5Rank: 5
来 自:水泊
等 级:职业侠客
帖 子:57
专家分:340
注 册:2016-11-14
收藏
得分:10 
回复 13楼 九转星河
程序代码:
#include<stdio.h>
double  k;
int n;

void travel(int n ,double k, double present)  //present目前还能行驶多远 ,k表示已经走了多少 
{
    
    if(n == 1)
    {
        printf("%lf", (present)/2+k);  //k距离的油量由在前面等待的车辆提供 
        return ;
    }

    double K1 = (double)present/4;  //K1表示每次离队前将1辆车的油平分给其他车的量的总和(每辆车分道K/(n-1)), 
                                    //除以4(自身来去2趟, 给其他车辆2次) 
    k = k+K1;             
    K1 = K1/(n-1);  //继续行驶的车辆每辆能分道的油量 
    present = present + K1 - k;        // 剩下的每辆车目前还能最多行驶的距离 
           //
    
    travel(n-1, k, present);
    
}
int main(void)
{
    double present;
    printf("输入n, k: ");
    scanf("%d%lf", &n, &k);
    present = k;
    
    travel(n, 0, present);
    
    return 0;
}
收到的鲜花
  • 九转星河2017-03-03 18:02 送鲜花  1朵   附言:这个答案有问题耶~不过努力了~还是给分了~
2017-03-02 18:09
xzlxzlxzl
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:湖北
等 级:贵宾
威 望:125
帖 子:1091
专家分:5825
注 册:2014-5-3
收藏
得分:0 
我感觉这题可以倒着推:先2辆车可最多跑75公里,假如他们回到原点A时正好还有两辆车正好各有50公里的油,分给这两辆车,则这四辆车一同再跑25公里到达B点。很显然如果这4辆车是从B点出发,每辆车都带跑100公里的油,跑25公里后,到达A点,这时其中两辆车停下,各分25公里油给另外两辆车,停下的两车还各有50公里油,继续前行的两车就是各带100公里的油,我们知道这两辆车可让其中一辆车跑75公里后一同回到A点的,所以4辆车最终可让一辆车最远跑100公里,依次类推,车辆总数不同,跑出的最远距离都不同的,1辆车跑50公里,2辆车跑75公里,4辆车跑100公里,那么3辆车应该是跑50+50/2+50/2/2/2=81.25,应该有个公式,奇数和偶数公式不同。

[此贴子已经被作者于2017-3-2 20:41编辑过]

2017-03-02 20:34
yangfrancis
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:141
帖 子:1510
专家分:7661
注 册:2014-5-19
收藏
得分:10 
还要考虑补给油的车返程时不必自己带够油,可以回程时从跑得近的车那里得到补给。
2017-03-02 20:40
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
回复 15楼 xzlxzlxzl
看上去找到方法后不太难实现~
这题……最好还是敲敲代码~

[此贴子已经被作者于2017-3-2 20:48编辑过]


[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-03-02 20:47
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
受到高手们的启发~九九猜测当n=3,k=100的时候如下:先3辆车跑100/6千米~然停下来帮另外两辆车加1/6的油~接下来2辆车最远可以跑75千米~返回后第三辆车补给另外两辆100/6~这时三辆车都有100/6的油量~刚好可以回到原点~四辆也是这样类推~感觉公式是k/2+k/4+k/6+……+k/2n
现在还不确定这样是否是最优解~不知道是不是这样?~

[此贴子已经被作者于2017-3-2 21:03编辑过]


[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-03-02 21:02
xzlxzlxzl
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:湖北
等 级:贵宾
威 望:125
帖 子:1091
专家分:5825
注 册:2014-5-3
收藏
得分:50 
回复 18楼 九转星河
可能是!我以为是k/2^n

怎么又好像不对了?4辆车原始的总油量是400的。
8辆车才跑125公里的,应该是2的幂。

凌晨3::00更:
这题目真的如九同学说的,用1辆车1辆车去接力,公式是:k*(1/(2*n)+1/(2*(n-1))...+1/2),所以4辆车最远跑:100*(1/(2*4)+1/(2*3)+1/(2*2)+1/2)=104.16666666公里,不是100公里。
我的用车的倍数去接力只是用来推翻前面有答主说只是固定公里数、不超过100公里的观点。
这么简单啊,还是智商不够造成的!
现在可以安心睡觉了。

[此贴子已经被作者于2017-3-3 03:34编辑过]

2017-03-02 21:06
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
回复 19楼 xzlxzlxzl
哇~九九也想不到结果会出奇简单~看来还是考智商多过考算法设计技巧啊~早知结果看穿如此简单就不发百分贴了~~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-03-03 06:55
快速回复:这个最远距离怎么求?~
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.055236 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved