这个还是笔者好久之前写的matlab代码,写的不是很好,还请大家多多在指正

clear;clc
South(1,:) = [1,1,1,1];   %南岸
North(1,:) = [0,0,0,0];   %北岸
A = ['人','狗','鸡','米'];
Safe_condition = [1,1,1,1;1,0,1,1;1,1,0,1;1,1,1,0;1,0,1,0;0,0,0,0;0,1,0,0;0,0,1,0;0,0,0,1;0,1,0,1]; %可行的状态
k = 0;                    %记录渡河次数
fprintf('渡河方式: \n');
while (~isequal(North(k+1,:),[1,1,1,1]))&&k<=100k = k+1;for i = 1:4flag1 = 0;flag2 = 0;flag3 = 1;  %防止死循环,以及出现不可行的状态if South(k,i) ==1Cross_river1 = [1,0,0,0];Cross_river1(i) = 1;South(k+1,:) = xor(South(k,:),Cross_river1);North(k+1,:) = [1,1,1,1] - South(k+1,:);for j = 1:10if isequal(North(k+1,:),Safe_condition(j,:))flag1 = 1;endendfor j = 1:10if isequal(South(k+1,:),Safe_condition(j,:))flag2 = 1;endendfor j = 1:kif isequal(South(k+1,:),South(j,:))flag3 = 0;           %防止出现状态死循环endendif (flag1 ==1)&&(flag2 ==1)&&(flag3 ==1)if i ==1fprintf('%s 从南岸到北岸\n',A(1));breakelsefprintf('%s 和  %s 从南岸到北岸\n',A(1),A(i));breakendelsecontinueendendendif isequal(North(k+1,:),[1,1,1,1])breakelsek = k+1;for m = 1:4flag1 = 0;flag2 = 0;flag3 = 1;if North(k,m) ==1Cross_river2 = [1,0,0,0];Cross_river2(m) = 1;North(k+1,:) = xor(North(k,:),Cross_river2);South(k+1,:) = [1,1,1,1] - North(k+1,:);for j = 1:10if isequal(North(k+1,:),Safe_condition(j,:))flag1 = 1;endendfor j = 1:10if isequal(South(k+1,:),Safe_condition(j,:))flag2 = 1;endendfor j = 1:kif isequal(South(k+1,:),South(j,:))flag3 = 0;           %防止出现状态死循环endendif (flag1 ==1)&&(flag2 ==1)&&(flag3 ==1)if m ==1fprintf('%s 从北岸到南岸\n',A(1));breakelsefprintf('%s 和  %s 从北岸到南岸\n',A(1),A(m));breakendelsecontinueendendendend
end

人狗鸡米过河问题matlab代码相关推荐

  1. 人狗鸡米安全过河matlab程序,人狗鸡米过河

    1.学校代码: 10128学 号: 6选修课结业论文(题 目:人狗鸡米过河问题学生姓名:武彩学 院:理学院系 别:数学系专 业:信息与计算科学班 级:信计08-1二 一二 年 5月人狗鸡米过河问题一. ...

  2. 人猫鸡米过河c语言算法,人猫鸡米过河问题.doc

    重 庆 交 通 大 学 学 生 实 验 报 告 实验课程名称 数学 开课实验室 学 院 院 级 专业班 班 学 生 姓 名 学 号 开 课 时 间 201 至 201 学年第 学期 综合评分依据实验到 ...

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

    一个有关农夫,狐狸,鸡,米过河的matlab程序 a0=[ 0 0 0 0];%左岸初态其中(农夫,狐狸,鸡,小米) c0=[ 0 0 0 0]; d0=[ 0 0 0 0]; flag=0; a1= ...

  4. 猫鸡米问题java_人猫鸡米渡河问题的数学模型.doc

    PAGE PAGE 12 人猫鸡米渡河问题的数学模型 摘要:人带着猫.鸡.米过河,从左岸到右岸,船除了需要人划之外(船除了要载人外),只能载猫.鸡.米三者之一,而当人不在场时猫要吃鸡.鸡要吃米.本文将 ...

  5. 猫鸡米问题java_人猫鸡米渡河问题的数学模型

    人猫鸡米渡河问题的数学模型 摘要:人带着猫.鸡.米过河,从左岸到右岸,船除了需要人划之外(船除了要载 人外),只能载猫.鸡.米三者之一,而当人不在场时猫要吃鸡.鸡要吃米.本文将设计一个安全过河方案,使 ...

  6. 猫鸡米问题java_人猫鸡米渡河问题地数学模型.doc

    实用标准文案 PAGE 文档 人猫鸡米渡河问题的数学模型 摘要:人带着猫.鸡.米过河,从左岸到右岸,船除了需要人划之外(船除了要载人外),只能载猫.鸡.米三者之一,而当人不在场时猫要吃鸡.鸡要吃米.本 ...

  7. 鸡米过河matlab程序,万能解题套路——人,狗,鸡,米过河问题为例

    先看问题: 人,狗,鸡,米过河,一次只能载两样,且有人划船,人不在时,狗吃鸡,鸡吃米,问如何过河? 人,狗,鸡,米过河问题 今天要用到国著名数学家数学教育家--波利亚 的"怎样解题表&quo ...

  8. c/c++语言编程实现人狗鸡和白菜过河问题的求解过程.,【算法编程】过河问题

    今天偶尔想到了过河问题.记得读小学六年级的时候第一次接触到这个问题--六个老虎过河问题(百度上有详细介绍,本文解决的是一个简单的问题,下一篇文章中将讨论该问题),当时都是从逻辑思维的方法得到正确的解决 ...

  9. 过河问题matlab建模,过河问题-数学建模C++实现

    经典的过河问题:一个人(猎人)带了:一只鸡(羊),一条狗(狼),一袋米(草),遇到一条河,河边有一条船,船太小每次只能带一样东西,此人如何将自己的三件物品完好的带到对岸? (注:若是VS2010开发工 ...

最新文章

  1. @AUTORELEASEPOOL
  2. @poj - 1509@ Glass Beads
  3. python链表怎么定义_码哥聊Python数据结构--链表
  4. 一个c语言程序什么时候结束,新人求救,写了一个C语言程序,输入完数据后就结束了!!!...
  5. mongodb创建用户
  6. java中VO、PO、DTO 、DO、POJO、BO、TO
  7. 用c语言绘制自定义图形,Android使用自定义View绘图
  8. 扫描仪 pfu_行业案例:扫描仪高效加持下的艺术工作室
  9. 链接与加载过程中,几个关键的概念
  10. Java设计模式笔记--------工厂模式------抽象工厂模式
  11. Jstatd方式远程监控Linux下 JVM运行情况
  12. HTK中函数ProcessCrossWordLinks处理流程
  13. 密封橡胶圈尺寸缺陷视觉检测系统
  14. 锤子pro2 Android8,锤子 坚果Pro2 MIUI10 Android N 快如闪电 指纹支付 完美ROOT
  15. 苹果计算机如何显示错误,科普电脑打开苹果手机视频教程及Apple ID验证失败发生未知错误怎么解决...
  16. 板端电源硬件调试BUG
  17. 使用cpolar发布群晖NAS上的网页 上篇(7.X版)
  18. C#,图像二值化(16)——全局阈值的力矩保持算法(Moment-proserving Thresholding)及其源代码
  19. 痞子衡嵌入式:恩智浦i.MX RT1xxx系列MCU启动那些事(4)- Flashloader初体验(blhost)...
  20. Flask 引入swagger

热门文章

  1. 情感分类——Attention(前篇)
  2. 电脑桌面卡机了 解决方法:
  3. 【传智播客郑州校区分享】HTTP/2技术整理
  4. golang处理excel表格
  5. 关于知识库:你需要知道的一切
  6. 【无机纳米材料科研制图——OriginLab 0201】Origin光谱图、曲线图绘制
  7. USB转COM 100%兼容 双芯片PL2303驱动
  8. 如何把视频分屏?教你轻松学会视频分屏
  9. collect_set函数
  10. 字符串循环左移 详解