社区
新手乐园
帖子详情
老师布置了一题目 可把全班人考到了 求高手解答
wlbinggniblw
2010-09-19 11:27:10
野人过河问题属于人工智能学科中的一个经典问题,问题描述如下: 有N个牧师(也有的翻译为传教士)和N个野人过河,只有一条船,在河的任何一方或者船上,如果野人的人数大于牧师的人数,那么牧师就会有危险. 你能不能找出一种安全的渡河方法呢?
用一种编程语言实现!最好是C语言!
不甚感激!
...全文
437
22
打赏
收藏
老师布置了一题目 可把全班人考到了 求高手解答
野人过河问题属于人工智能学科中的一个经典问题,问题描述如下: 有N个牧师(也有的翻译为传教士)和N个野人过河,只有一条船,在河的任何一方或者船上,如果野人的人数大于牧师的人数,那么牧师就会有危险. 你能不能找出一种安全的渡河方法呢? 用一种编程语言实现!最好是C语言! 不甚感激!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
22 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
dingshaofengbinbin
2010-09-23
打赏
举报
回复
帮顶!!!
wizard_tiger
2010-09-23
打赏
举报
回复
[Quote=引用 18 楼 zhaofaquan 的回复:]
替LZ补充。。是每次只能载2个人的。
[/Quote]
如每次只能载2人则n>=4时时不能安全过河。
因为当第一次把牧师全都运送到对岸前的状态只可能是
本岸有2个牧师2个野人或1个牧师1个野人(两岸安全)且船在本岸
若为本岸有2个牧师2个野人则前一步必是从本岸有1个牧师1个野人到本岸有2个牧师2个野人则产生了重复;
若为本岸有1个牧师1个野人则前一步必是从本岸没有牧师到本岸有1个牧师1个野人也产生了重复,所以当n>=4时根本不能安全过河。
successful_cy
2010-09-23
打赏
举报
回复
大象过河的问题类似吧,有3对大象母子,任何一头小象不能离开自己的妈妈见到另外的大象,否则会被别的大象母亲杀死(小象跟小象在一起没事)。只有一条船,三头大象母亲和一头小象会划船,船只能装任意两头大象,问怎么能安全的过河。
「已注销」
2010-09-23
打赏
举报
回复
算法问题而已
用状态空间法表示状态如:(X,Y,Z,W,A)x表示a岸牧师数,y表示a岸野人数,zw分别表示b岸的人数,a表示船是否在a岸
运算符是船过河(两个,a->b,b->a)且带两个参数表示渡河人数
根据A的取值决定调用哪个函数,
运算一遍后检查把Y>X,W>Z,和重复的剔除
然后用宽度优先算法进行搜索就可以了。
zhaofaquan
2010-09-22
打赏
举报
回复
替LZ补充。。是每次只能载2个人的。
liutengfeigo
2010-09-22
打赏
举报
回复
一次全部装过去不是得了
tomatobin
2010-09-22
打赏
举报
回复
好牛,
vincent_1011
2010-09-21
打赏
举报
回复
这游戏玩过,。。。。。。当时我过关了,哈。。。。。。。。
csx007700
2010-09-21
打赏
举报
回复
学习了
Jim_King_2000
2010-09-20
打赏
举报
回复
深度优先,广度优先搜索。还有就是A*搜索。
S_zxing
2010-09-20
打赏
举报
回复
加入这艘船足够大,那么一次就过去了噢……
楼主题没说清楚……
ZoE0079
2010-09-20
打赏
举报
回复
貌似以前见过很多次了、、、
leonliu7558168
2010-09-20
打赏
举报
回复
我感觉问题还没有描述清楚!请楼主写清楚!!
wizard_tiger
2010-09-20
打赏
举报
回复
看船上能容几人
如船只能容2人则n等于2或3时可过,如n>=4时不可过。
设x为本岸牧师人数y为本岸野人人数
则x,y值的范围为0至n
本岸安全状态为x>=y或x=0但当x>y时对岸不安全所以安全状态为x=0或x=n或x=y
将它们画在坐标上可得到一个“|/|”型的图型图上的点即为安全点每次按点过河即可。
如船上能容4人则每次2个牧师2个野人过去,1个牧师1个野人回来重复以上步骤直至全部过河。
dixiad
2010-09-20
打赏
举报
回复
有>就必有<,只能等于啊..............一个牧师同一个野人划船,将相等的牧师和野人一批批送过河,最后俩人再过河,船可就得搁对岸了哟
乐CC
2010-09-20
打赏
举报
回复
从河岸A取人的算法可以按组合来,也可以使用牧师>=野人来筛选.
乐CC
2010-09-20
打赏
举报
回复
回溯法是个好办法,
1,定义三个容器(可以是数组或堆栈),分别表示河岸A,河岸B,船:
2,每次取N(船的容积)个放船上,从河岸A减掉取出的人,
3,对河岸A和船作非法判断(判断有没有吃人发生);如果有,回溯到第二步,如果没有,继续;
4,将人从船上放到河岸B;
5,对河岸B作非法判断(判断有没有吃人发生);如果有,回溯到第二步,如果没有,继续;
6,判断河岸A是否还有人,如果有,回第二步,如果没有,结束.
乐CC
2010-09-20
打赏
举报
回复
主要问题在于,船能乘几人,人数不同,算法也有所不同
Defonds
2010-09-20
打赏
举报
回复
算法。
wlbinggniblw
2010-09-20
打赏
举报
回复
能编写出代码?谢谢了
加载更多回复(2)
精进:如何成为一个很厉害的人--作者:采铜
精进:如何成为一个很厉害的人 作者:采铜 文章目录精进:如何成为一个很厉害的人序 用更勇敢的方式去生活01 时间之尺 我们应该怎样对待时间活在“全部的现在” 从当下出发,联结过去与未来那么,一个人应该怎样对待...
【南卡樱桃|读书笔记《学习
高手
》】
∝学霸分享 6大课 通过英语、写作和SMART原则、OKR工作法、LEO解读...∞第19课 三要素写作法,把文章写到读者心里去 ◆第1小课 Ethos,可信 ◆第2小课 Pathos,情感 ◆第3小课 Logos,逻辑 ◆19-本课核心方法回顾 ∞第
信息技术(高)---真题详解
8.3.2 请分析邹
老师
布置
学习任务的意图 9.4.3 请从布鲁姆教育目标分类的角度,写出两位
老师
测试
题目
考察的目标层次布 8.4.4 在不更改
题目
描述情境的前提下,请修改李
老师
的
题目
,使其更加严谨科学 8.4 教学设计题 ...
我是一只IT小小鸟
一夜痛快淋漓地说下来,我们不由总结出,要是研一或更早,有师兄师姐能够这么提醒我们,这一路我们可能就会走得更从容、更自觉。 现在我们都成师兄师姐了,或许我们能够在毕业之前把这些经验教训留下,以期给...
我是一只 IT小小鸟
我是一只 IT小小鸟 作者序 2009 年 3 月的某个晚上,我跟侯磊同学在万柳宿舍卧谈。我们聊起初来北 大软件学院时的志向与苦闷,我们梳理影响自己的人和事,说各自的实习感受和 找工作的风风雨雨,说学校的...
新手乐园
33,319
社区成员
41,774
社区内容
发帖
与我相关
我的任务
新手乐园
C/C++ 新手乐园
复制链接
扫一扫
分享
社区描述
C/C++ 新手乐园
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章