算法题-加油站加油问题求思路

没有昵称阿
阿里巴巴Java技术专家
博客专家认证
2013-08-25 10:37:39
一道笔试题,

静安市区建有一条从南到北的公路,沿着这条公路有10个加油站,加油站总部每天都要给每个加油站补给一车汽油,加油站总公司计划在这10个加油站中选出一个加油站作为总补给点,每天负责给其他加油站送一车汽油,请问挑选哪个加油站使得每天负责运送汽油的总里程数最小,请用代码实现,如果时间不够,请写出主要思路。

想不出来优化的思路,想请大家帮忙想一想~~~

感激万分呢~
...全文
1136 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangjcltj 2013-10-10
  • 打赏
  • 举报
回复
优化之前你是什么思路?
zdd2399091 2013-10-08
  • 打赏
  • 举报
回复
#include <iostream> int main(void) { int min = 0; int mil = 0; int count = 1; int station[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; int abs(int); for(int i = 0; i < 10; i++) { for(int j = 0; j < 10; j++) mil += (abs(station[j] - station[i])<<1); if(min == 0||min > mil) { min = mil; count ++; } mil = 0; } std::cout << "the minimal mileage is:\t" << min << std::endl; std::cout << "the station number is:\t" << count << std::endl; } int abs(int a) { int i = a >> 31; return ((a^i) - i); }
大尾巴猫 2013-08-26
  • 打赏
  • 举报
回复
不懂,一条南北公路10个加油站,只能是直线往返每个点,总里程是南北相距最远的2个加油站*2 从任何一个加油站出发,里程都一样啊,总是先往一个方向送,到了尽头掉头,往反方向送,送完再回出发点。
没有昵称阿 2013-08-26
  • 打赏
  • 举报
回复
引用 2 楼 FancyMouse 的回复:
超过几千个了再来讨论优化……
这是人人网2013年的校园招聘笔试题,难道最好的解法就是这样穷举吗?恐怕不是吧~
没有昵称阿 2013-08-26
  • 打赏
  • 举报
回复
引用 1 楼 nice_cxf 的回复:
这题有啥优化必要么?不就是分别计算一下8个数?
要选定的加油站一定是中间的那个。不是吗?
FancyMouse 2013-08-26
  • 打赏
  • 举报
回复
超过几千个了再来讨论优化……
nice_cxf 2013-08-26
  • 打赏
  • 举报
回复
这题有啥优化必要么?不就是分别计算一下8个数?
没有昵称阿 2013-08-26
  • 打赏
  • 举报
回复
引用 6 楼 nice_cxf 的回复:
开始没仔细想,的确中间的那个是解,不过这样需要编程序?
所有比较纳闷,这题出的 ~~~
nice_cxf 2013-08-26
  • 打赏
  • 举报
回复
开始没仔细想,的确中间的那个是解,不过这样需要编程序?

33,027

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧