鸡米过河matlab程序,农夫,狐狸,鸡,米的程序

这是一个MATLAB程序,模拟农夫携带狐狸、鸡和米过河的问题。程序通过迭代检查各种组合,确保在任何时刻狐狸不会单独与鸡或米在一起,以避免损失。最终,程序给出了从左岸到右岸以及返回左岸的可行方案。
摘要由CSDN通过智能技术生成

一个有关农夫,狐狸,鸡,米过河的matlab程序

a0=[ 0 0 0 0];%左岸初态其中(农夫,狐狸,鸡,小米)

c0=[ 0 0 0 0];

d0=[ 0 0 0 0];

flag=0;

a1=[0 0 0 0];%右岸的状态

a2=[ 1 1 1 1];%表示左岸壮态

b=[1 1 0 0;1 0 1 0;1 0 0 1];

status=[0 0 0 0];

maxlter=100;

for i=1:100

for j=1:3

statusc=a2;

a2=a2-b(j,:);

if(a2==[0 0 0 0])

flag=1;

c0=[c0;b(j,:)];%来的状态

break;

end

statust=a2;

if(check(a2)==1)%检查左岸是否可行

a1=a1+b(j,:);

c0=[c0;b(j,:)];%来的状态

if(a1==[1 1 1 1])

flag=1;

break;

else

sta=a1;

a1=a1-[1 0 0 0];

if(check(a1)==1)%检查农夫一个人回去右岸是否可以

d0=[d0;[1 0 0 0]];%回去的状态

a2=a2+[1 0 0 0];

break;</

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值