请用程序求解下面问题。

wabc 2003-08-22 01:02:33
有三个瓶子容量分别为十升、七升和三升,现在,十升的瓶子装满了油,另两个是空的,试利用这三个瓶子倒出五升油来。
...全文
23 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
tip9914 2003-08-26
  • 打赏
  • 举报
回复
我觉得人工算法很简单
(10,0,0)-》(703)-》(730)——》(433)——》(460)——》(163)——》(172)——》(802)——》(820)——》(523)
关键是把2构造出来
可是怎么用程序来解决呢》
有没有哪位有工夫写个C出来看看
谢谢了,先!
Beover1984 2003-08-26
  • 打赏
  • 举报
回复
关注ING!!!!!!!!!
短歌如风 2003-08-26
  • 打赏
  • 举报
回复
实现时可以从<10,0,0>出发,用广度优先算法遍历,遍历时动态生成节点(只生成上级节点直接可达的),当遇到一个终点时结束。为了避免环路问题,应该用一个set保存所有已访问节点(由于节点动态生成,无法用节点数据中的标志判断)。
短歌如风 2003-08-26
  • 打赏
  • 举报
回复
实现时可以从<10,0,0>出发,用广度优先算法遍历,遍历时动态生成节点(只生成上级节点直接可达的),当遇到一个终点时结束。为了避免环路问题,应该用一个set保存所有已访问节点(由于节点动态生成,无法用节点数据中的标志判断)。
短歌如风 2003-08-26
  • 打赏
  • 举报
回复

其实是个图的通路问题,起点是一个<10, 0, 0>,终点有多个:<5,X,X>和<X,5,X>

从节点A到节点B有弧的充要条件是:
其中一项不变,其余两项一增一减,并且减为0或增为Max[I](Max = {10, 7, 3},I为增项的索引)

其中一条路(人工解):
<10,0,0> -> <3,7,0> -> <3,4,3> -> <6,4,0> -> <6,1,3> -> <9,1,0> -> <9,0,1> -> <2,7,1> -> <2,5,3>
caoyun 2003-08-26
  • 打赏
  • 举报
回复
晕,看不懂`~
wabc 2003-08-26
  • 打赏
  • 举报
回复
up
yzb1000 2003-08-22
  • 打赏
  • 举报
回复
老问题了
N久以前就在csdn上看到很好的解答了
本来放在收藏夹里的,可惜删掉了

69,337

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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