算法谜题系列1 狼羊人问题

这篇博客探讨了如何使用自动机方法解决经典算法谜题——狼羊人过河问题。通过建立状态表示和动作集,定义了合法状态及无效状态,并采用递归方式遍历所有可能的状态转移,确保在满足条件的情况下找到安全过河的方案。
摘要由CSDN通过智能技术生成
有一个人,一只羊,一只狼,一捆菜(狼可以吃羊,羊可以吃菜,只有人在的情况,才避免吃的情况),准备过河。有一条船只能载两样东西过河(人也算是一样东西,只有人才会往返坐船,其它不会),如何过才会全部安全过河(没有吃的现象)?
分析:可用自动机方法来解决,一个状态可形式化表示为<p,s,w,c>,即people、sheep、wolf、cabbage的四元组,<1,1,1,1>表示最终的状态,<0,0,0,0>表示初始状态;定义动作集<+1,1,0,0>,<+1,0,1,0>,<+1,0,0,1>,<-1,0,0,0>,<-1,-1,0,0>,<-1,0,-1,0>,<-1,0,0,-1>;定义合法状态p=1||p=0&s=1&w=0&c=0||p=0&s=0&w=1;
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值