野人与修道士问题
这是一个古典的问题.假设有n个修道士和n个野人准备渡河,但只有一条能容纳c人的小船,为了防止野人侵犯修道士,要求无论在何处,修道士的个数不得少于野人的人数(除非修道士个数为0)
数据结构
3 K
75 次下载
野人与修道士问题
这是一个古典的问题.假设有n个修道士和n个野人准备渡河,但只有一条能容纳c人的小船,为了防止野人侵犯修道士,要求无论在何处,修道士的个数不得少于野人的人数(除非修道士个数为0) - 资源详细说明
野人与修道士问题
这是一个古典的问题.假设有n个修道士和n个野人准备渡河,但只有一条能容纳c人的小船,为了防止野人侵犯修道士,要求无论在何处,修道士的个数不得少于野人的人数(除非修道士个数为0).如果两种人都会划船,试设计一个算法,确定他们能否渡过河去,若能,则给出一个小船来回次数最少的最佳方案.
要求:
(1) 用一个三元组(x1,x2,x3)表示渡河过程中各个状态.其中,x1表示起始上岸修道士个数,x2表示起始岸上野人个数,x3表示小船位置(0-在目的岸,1-在起始岸).例如(2,1,1),表示起始岸有两个修道士,一个野人,小船在起始岸一边.
采用邻接表做为存储结构,将各种状态之间的迁移图保存下来.
(2)采用广度搜索法,得到首先搜索到边数最少的一条通路.
(3)输出数据
若问题有解(能渡过河去),则输出一个最佳方案.用三元组表示渡河过程中的状态,并用箭头指出这些状态之间的迁移:
目的状态<-...中间状态<-...初始状态.
若问题无解,则给出"渡河失败"的信息.
(4)求出所有的解.
野人与修道士问题
这是一个古典的问题.假设有n个修道士和n个野人准备渡河,但只有一条能容纳c人的小船,为了防止野人侵犯修道士,要求无论在何处,修道士的个数不得少于野人的人数(除非修道士个数为0) - 源码文件列表
温馨提示:点击文件名或"查看源码"按钮可在线浏览源代码,支持语法高亮显示。
立即下载 野人与修道士问题
这是一个古典的问题.假设有n个修道士
提示:下载后请用压缩软件解压,推荐使用 WinRAR 或 7-Zip
下载说明与使用指南
下载说明
- 本资源需消耗 2积分
- 24小时内重复下载不扣分
- 支持断点续传功能
- 资源永久有效可用
使用说明
- 下载后使用解压软件解压
- 推荐使用 WinRAR 或 7-Zip
- 如有密码请查看资源说明
- 解压后即可正常使用
积分获取方式
- 上传优质资源获得积分
- 每日签到免费领取积分
- 邀请好友注册获得奖励
- 查看详情 →