查看: 2293|回复: 11

[脑筋急转弯] 过河

转载  已解决  简洁模式
发表于 2015-10-25 09:23:59 发帖际遇
在一条河边有猎人、狼、男人领着两个小孩,一个女人也领着两个小孩。条件为:如果猎人离开的话,狼就会把所有人都吃掉;如果男人离开的话,女人就会把男人的两个小孩掐死,而如果女人离开,男人则会把女人的两个小孩掐死。
       这时,河边有一条船,而这条船上也只能乘坐两个人(狼也算一个人,每个小孩各算一个人),而所有人中,只有猎人、男人、女人会划船。请问,怎样做才能使他们全部渡过这条河?

此回答在 2017-7-3 22:44 被选定为谜题答案,获得破案经验 5

发表于 2015-10-25 10:20:40
先让猎人带狼过河,再让猎人划回接男人的一个孩子,猎人和狼再回去把船给男人,男人带他的另一个孩子过河,男人再回去带女人过河,再让女人回去让猎人和狼过去,再由男人过河接女人到对岸,再让女人过去接她的一个孩子到对岸,再让猎人和狼过河,让猎人接另一个女人的孩子,最后猎人过河接狼。
登录帐号可查看完整回帖内容
发表于 2015-10-25 19:51:56
这种东西是图论题:列出所有状态,列出所有合法的状态转移,求给定两结点间的通路..
示范下..首先这里的状态我们用七元组[a,b,c,d,e,f,g](0<=a,b,c,d,f<=1,0<=e,g<=2)表示,其中a,b,c,d,e,f,g分别表示"左岸"的船,猎人,狼,男人,男人孩子,女人,女人孩子的数量.于是总共有2^5*3^2=288种状态.
其中各种会死人的限制对应b=0 and c=1 and d+e+f+g>0,b=1 and c=0 and d+e+f+g<6,d=0 and e>0 and f=1,d=1 and e<2 and f=0,d=1 and f=0 and g>0,d=0 and f=1 and g<2,经筛选,288种状态中有且仅有84种不触犯这些限制.
然后表示出状态转移.显然[1,b,c,d,e,f,g]可转移到的状态有[0,b-1,c,d,e,f,g],[0,b-1,c-1,d,e,f,g],[0,b-1,c,d-1,e,f,g],[0,b-1,c,d,e-1,f,g],[0,b-1,c,d,e,f-1,g],[0,b-1,c,d,e,f,g-1],[0,b,c,d-1,e,f,g],[0,b,c-1,d-1,e,f,g],[0,b,c,d-1,e-1,f,g],[0,b,c,d-1,e,f-1,g],[0,b,c,d-1,e,f,g-1],[0,b,c,d,e,f-1,g],[0,b,c-1,d,e,f-1,g],[0,b,c,d,e-1,f-1,g],[0,b,c,d,e,f-1,g-1],而[0,b,c,d,e,f,g]可转移到的状态有[1,b+1,c,d,e,f,g],[1,b+1,c+1,d,e,f,g],[1,b+1,c,d+1,e,f,g],[1,b+1,c,d,e+1,f,g],[1,b+1,c,d,e,f+1,g],[1,b+1,c,d,e,f,g+1],[1,b,c,d+1,e,f,g],[1,b,c+1,d+1,e,f,g],[1,b,c,d+1,e+1,f,g],[1,b,c,d+1,e,f+1,g],[1,b,c,d+1,e,f,g+1],[1,b,c,d,e,f+1,g],[1,b,c+1,d,e,f+1,g],[1,b,c,d,e+1,f+1,g],[1,b,c,d,e,f+1,g+1](当然,取其中满足上述的定义域和不死人条件的限制的部分).
现在我们得到了一个图(一般而言是有向图,但一般见到的题无向图足矣).已知起点和终点,求是否连通,以及连通时求一条或所有最短通路..可以上算法了..(双向)bfs..
答案是17.
下面上图..我就不说今天码这么细只是因为最近点了个画这种图的技能而已了..

此渡河问题的状态转移(仅合法状态,省略20个无法转移的状态)
本帖子中包含更多图片或附件资源

您需要 登录 才可以下载或查看,没有帐号?加入学院

登录帐号可查看完整回帖内容
发表于 2015-11-25 16:55:56
曾经做过这道题,做出来了,但太麻烦懒得打,只能说狼和猎人有很关键的作用,类似于媒介。

夜星 于 2015-11-25 16:57:02 补充以下内容:

有那么难吗,我只想了三遍。
登录帐号可查看完整回帖内容
发表于 2016-2-15 18:23:28 | 来自小霸王手机
反正猎人不杀小孩
尚未登录
您需要登录后才可以回帖 登录 | 加入学院