玩游戏的时候想到的一个算法问题,不那么容易哦

Zee 2002-08-12 04:04:24
假定有n个城市,城市之间有定期客轮连接,每个城市开出的客轮以k天为一个周期循环,,作为例子,假定以7天为周期。比如说,A城市周一发出开往B市的客轮,花费3天时间,周二则开往C市,花费1天,周三开往D市,花费6天,周四、五、六、日没有轮船开出。如此循环。
要求:1、给出一个城市和一个时间(星期几),求出从该城市出发环游所有城市的需要的最少时间。
2、如果要求环游城市后回到出发点,需要的最短时间是多少?
3、如果要用最短时间环游所有城市,应该从那个城市、星期几出发?
:)


玩魔法门的时候想到的这个问题……在那里学会飞之前要掐着指头算好船期,晚了就要再等一周,痛苦的说……
...全文
32 10 打赏 收藏 举报
写回复
10 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
bary1980 2002-08-14
船是立即返回吗?
  • 打赏
  • 举报
回复
Lawrence444 2002-08-14
所谓的“做成图”(我这样可能比较笨,看有没有更俭省的方法):

把每个城市变成7个节点,分别代表这个城市的每一天。

就是说:A城在图上有A1,A2,A3,A4,A5,A6和A7这些节点。

之后做边,首先处理线路。如“A城市周一发出开往B市的客轮,花费3天时间”,则有一条A1到B4的边,权是3。其后,处理在该城市睡觉。则A1到A2,A2到A3,A3到A4,...,A7到A1都有一条权为1的边。

这样做出图来以后就可以搜索了。这个问题是一个大TSP问题,只有剪枝搜索,如果不懂,请参考有关书籍。
  • 打赏
  • 举报
回复
Cybergate 2002-08-13
货郎问题的变形. 图是动态的, 搜索的话也不一定非要把图描述出来吧
  • 打赏
  • 举报
回复
a86230509 2002-08-13
图问提。
  • 打赏
  • 举报
回复
Zee 2002-08-13
能不能具体点,不要泛泛而谈?

  • 打赏
  • 举报
回复
panxiongfei 2002-08-12
做成图时,怎么加权呢?
是不是a to b is 3 and a to c is 2(周二+1) and
a to d is 8(周三(2)+6)?
  • 打赏
  • 举报
回复
winco 2002-08-12
yes
  • 打赏
  • 举报
回复
kbsoft 2002-08-12
恩,这几个问题大都是NPC问题
  • 打赏
  • 举报
回复
Reve 2002-08-12
搞出这个的算法的同时不妨再在此的基础上写个游戏吧
  • 打赏
  • 举报
回复
Lawrence444 2002-08-12
做成图,然后限界剪枝搜。
  • 打赏
  • 举报
回复
发帖
数据结构与算法
加入

3.2w+

社区成员

数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
申请成为管理员
帖子事件
创建了帖子
2002-08-12 04:04
社区公告
暂无公告