您好、欢迎来到现金彩票网!
当前位置:9号彩票app下载 > 工作队列 >

c++用队列求最短路径问题

发布时间:2019-07-01 17:09 来源:未知 编辑:admin

  有三个人(他们的体重是Q,P,T)被困在塔顶,塔下面有一个重量为S的石头,

  滑轮两边的重量如果不大于D的话,人就可以平安落地(石头当然可以直接从塔顶扔下去就行)

  别像1楼似的不知在哪地方弄来的莫名其妙的代码也往上写展开我来答

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  展开全部//我的解答,请参考。如果有不明白的,请百度mail 或者百度hi我。

  //解题思路,用二进制位保存现在状况(哪些在塔顶,哪些在塔底),1表示在塔顶,0表示在塔底。然后对状态进行广度优先搜索(广度优先搜索得到的结果一定是最优的)。

  有三个人(他们的体重是Q,P,T)被困在塔顶,塔下面有一个重量为S的石头,

  滑轮两边的重量如果不大于D的话,人就可以平安落地(石头当然可以直接从塔顶扔下去就行)

  printf(请输入有向图的顶点数和弧数,以及各弧是否含有其他信息(0表示不含其它信息)n);

  我能想到的就是用深度优先的遍历,然后记录每一方法经过的状态(即S,D,Q,P,T分别在塔上还是地下),如果发现状态重复说明是循环,如果所有操作皆不符合条件(石头可以丢下去,人要平安落地)而且状态不是终点状态说明是死路,最后能够到达终点状态的必定是有限个的,找到最小状态个数的就是最短路径。

http://dralvaro.com/gongzuoduilie/611.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有