[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

不限语言解决“人狼羊菜过河问题”

哈哈,看来工作日大家都忙着,今天再来一个类似的
题目描述:农夫需要把狼、羊、菜和自己运到河对岸去,只有农夫能够划船,而且船比较小,除农夫之外每次只能运一种东西,还有一个棘手问题,就是如果没有农夫看着,羊会偷吃菜,狼会吃羊。请考虑一种方法,让农夫能够安全地安排这些东西和他自己过河。

参考:https://blog.csdn.net/orbit/article/details/7563220

回复 2# xczxczxcz


    哈哈,这个解法比较清奇,
不过若改成循环,恐怕无法正常运行,
试想一下,是否会出现羊被拉来拉去不断死循环下去的情况?

TOP

回复 2# xczxczxcz


    若不考虑重复步骤,准确的说应该是执行步骤造成的状态与历史重复,也就无所谓“所有”解法,因为通过重复获得状态,步骤可以被无限延长,也就是可以获得无限种解法
若论有限解法的数目,这里有一个隐含条件,就是剔除重复状态。之所以没有在帖子上特别强调,是因为若真的写出获得所有解的代码来,必定会剔除掉重复状态,否则代码执行就永远不会结束。

TOP

回复 5# 523066680


    其实这个很简单的

TOP

回复 7# 523066680


    是的

TOP

本帖最后由 老刘1号 于 2019-3-24 22:49 编辑

我已深深迷上撸啊的语法
在线运行:https://tool.lu/coderunner/embed/6hX.html
状态不重复内只有两个解:
方法1
人羊过岸。(1,2,1,2)
人回来。(1,2,1,1)
人狼过岸。(2,2,1,2)
人羊回来。(2,1,1,1)
人菜过岸。(2,1,2,2)
人回来。(2,1,2,1)
人带着最后余下的过岸。

方法2
人羊过岸。(1,2,1,2)
人回来。(1,2,1,1)
人菜过岸。(1,2,2,2)
人羊回来。(1,1,2,1)
人狼过岸。(2,1,2,2)
人回来。(2,1,2,1)
人带着最后余下的过岸。

TOP

回复 11# 523066680


    感谢分享,分析可以看顶楼的链接

TOP

回复 13# 523066680


    评论区都是人才

TOP

返回列表