- 8
- 0
- 约9.42千字
- 约 15页
- 2020-11-13 发布于湖北
- 举报
题目内容:有一农夫要将自己的羊、蔬菜和狼等3件物品运过河。但农夫过河时所用的船每次最多只能装其中的一件物品,而这3件物品之间又存在一定的制约关系:羊不能单独和狼以及不能和蔬菜在一起,因为狼要吃羊,羊也能吃蔬菜。试构造出问题模式以编程实现这一问题的求解。
问题分析和任务定义:
根据对象的状态分为过河(1)和不过河(0),此对象集合就构成了一个状态空间。问题就是在这个状态空间内搜索一条从开始状态到结束状态的安全路径。显然,其初始状态为四对象都不过河,结束状态为四对象全部过河。这里用无向图来处理,并采用邻接矩阵存储。对于农夫,狼,羊,蔬菜组成一个4位向量,即图的顶点(F,W,S,V),状态空间为16,初始状态为(0000),目标为(1111)。解决问题的方法是,找到所有的安全状态,并在其中搜索出一条(0000)到(1111)的路径。对当前对象是否安全的判断,若当农夫与羊不在一起时,狼与羊或羊与蔬菜在一起是不安全的,其他情况是安全的。搜索一条可行路径时,采用深度优先搜索DFS_path,每个时刻探索一条路径,并记录访问过的合法状态,一直向前探视,直到走不通时回溯。显然,应该用数组来保存访问过的状态,以便回溯。显然农夫每次状态都在改变,最多也就能带一件东西过河,故搜索条件是,在顶点(F,W,S,V)的转换中,狼,羊,蔬菜三者的状态不能大于一个,即只有一个发生改变或者都不变。
数据的输入形式
您可能关注的文档
最近下载
- 部编版五年级上册语文(忆读书)课件.ppt VIP
- 保密场景移动通信信号干扰防护效能评估技术规范DB45_T 2588-2022_可搜索.pdf
- 数据中心800V直流供电技术白皮书2.0.pdf
- 加强县委反腐败协调小组工作意见(2篇).docx VIP
- 员工培训需求调查表【模板】.docx VIP
- 浙江博士后工作专项经费使用管理办法.DOC VIP
- 细菌MLST聚类分析方法.pdf VIP
- 七年级历史上册期末考试课件(一)-七年级历史上册期末复习(统编版2024).pptx VIP
- 育婴师考试简答题专项练习附答案.docx VIP
- 2023年10月中国黄金协会招考聘用人员笔试历年高频考点-难、易错点荟萃附带答案详解.docx
原创力文档

文档评论(0)