一个有意思的问题

cbc 2005-04-10 09:23:28
假定有一个猎人带着一只狼、一头山羊和一棵白菜来到一条河的左岸,拟摆渡过河,而岸边只有一条小船,其 大小仅能装载人和其余三件东西中的一件,也就是说,每一次猎人只能将随行者中的一件带到彼岸。若猎人将狼和山羊留在同一岸上而无人照管,那么,狼就会将羊吃掉;如果猎人把山羊和白菜留在同一岸,山羊也会把白菜吃掉。现在,请你用状态转换图作为工具,描述猎人可能采取的种种摆渡方案,并从中找出可将上述三件东西安全地带到右岸的方案来
...全文
364 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
没上学的时候经常作这样的问题!!
kobefly 2005-04-11
  • 打赏
  • 举报
回复
人工智能的时候学过

luojian321 2005-04-11
  • 打赏
  • 举报
回复
自己的作业,还是自己想想好,学知识是要靠自己的!!!!!!
luojian321 2005-04-11
  • 打赏
  • 举报
回复
回复人: stevensinclair(S.T.) ( ) 信誉:100

你没上过学可以原谅,这是课本的作业题!!!!!
healer_kx 2005-04-11
  • 打赏
  • 举报
回复
状态空间。
stevensinclair 2005-04-11
  • 打赏
  • 举报
回复
我讨厌那些自己不会做但却装出会的样子说些“自己的作业,还是自己想想好,学知识是要靠自己的!!!!!!“之类话的人。

回家自己称称自己有几斤几两。

IT业有些人就是轻浮。

冒犯了。

oyljerry 2005-04-11
  • 打赏
  • 举报
回复
状态转换图就是各个转换直接可以进行转换,用箭头表示转换方向,嗯,先画画
ycom__net 2005-04-11
  • 打赏
  • 举报
回复
将人,羊,狼,菜任意几种在一起的情况看作一种状态

则有16中状态,其中安全的有:
(人,狼,羊,菜),(人,狼,羊),(人,狼,菜),(人,羊,菜),(人,羊),
(菜),(羊),(狼),(狼,菜),(空);


不安全的状态有6中:
(人),(人,菜),(人,狼),(狼,菜,羊),(狼,羊),(羊,菜);

可将十种安全状态表示十个节点,渡河的全过程看作时状态建的转移,问题转化为
求一条从(人,狼,菜,羊),到(空)的路径
MagicCarmack 2005-04-11
  • 打赏
  • 举报
回复
支持一下~~~~~~~
arrowcy 2005-04-11
  • 打赏
  • 举报
回复
我觉得就是把对岸线有哪些东西对应于几种状态,如对岸有狼,有羊,有菜
有狼和菜,有狼有羊,有羊有菜,三者都有,三者都没有,这8种状态,状态之间的转换满足这样的关系:有狼有羊,有羊有菜这两种状态不能转换到三者都有的状态,其余状态之间只要只相差一个东西,就可以相互转换。终止状态就是三者都有。只要找到一条转移的方式就知道答案了
最终答案当然就是 三者都没有->对岸有羊->有狼有羊->有狼->有狼有菜->三者都有

状态转换图的画法其实就是上面说的可以转换的状态之间画一个箭头就可以了
另外可能还有一些小的细节要注意,等我晚上回来再想想看
我现在要去上自习了,要考研了啊!
cbc 2005-04-10
  • 打赏
  • 举报
回复
我觉得就是把对岸线有哪些东西对应于几种状态,如对岸有狼,有羊,有菜
有狼和菜,有狼有羊,有羊有菜,三者都有,三者都没有,这8种状态,状态之间的转换满足这样的关系:有狼有羊,有羊有菜这两种状态不能转换到三者都有的状态,其余状态之间只要只相差一个东西,就可以相互转换。终止状态就是三者都有。只要找到一条转移的方式就知道答案了
最终答案当然就是 三者都没有->对岸有羊->有狼有羊->有狼->有狼有菜->三者都有
cbc 2005-04-10
  • 打赏
  • 举报
回复
应该有8个状态的,解有很多的
ljq14 2005-04-10
  • 打赏
  • 举报
回复
不太会编
但还是支持一下~~~~~~~
YFY 2005-04-10
  • 打赏
  • 举报
回复
带羊过去,带狼过去,带羊回来,带白菜过去,空手回去,带羊过去。

状态好多啊,应该有几种解。
net_fogprince 2005-04-10
  • 打赏
  • 举报
回复
先带羊然后把狼带去 把羊带回然后带白菜 然后带羊
llmsn 2005-04-10
  • 打赏
  • 举报
回复
先把羊带过去就行了,再带狼过去,再把羊带回来把白菜带过去,再把羊带过去就行了.
pcboyxhy 2005-04-10
  • 打赏
  • 举报
回复
如果从一个状态转换到另一个状态是可以的
就在当前状态和这个状态之间添加一条权值为1的边。
将图构成。
然后用 Dijkstra 算法求出初始状态和目标状态的最短距离。
flying_dancing 2005-04-10
  • 打赏
  • 举报
回复
先带羊不就得了,,,,,,,
z3254a 2005-04-10
  • 打赏
  • 举报
回复
状态转换图是什么东西?

64,683

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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