首页| JavaScript| HTML/CSS| Matlab| PHP| Python| Java| C/C++/VC++| C#| ASP| 其他|
购买积分 购买会员 激活码充值

您现在的位置是:虫虫源码 > 其他 > 野人与修道士问题 这是一个古典的问题.假设有n个修道士和n个野人准备渡河,但只有一条能容纳c人的小船,为了防止野人侵犯修道士,要求无论在何处,修道士的个数不得少于野人的人数(除非修道士个数为0)

野人与修道士问题 这是一个古典的问题.假设有n个修道士和n个野人准备渡河,但只有一条能容纳c人的小船,为了防止野人侵犯修道士,要求无论在何处,修道士的个数不得少于野人的人数(除非修道士个数为0)

  • 资源大小:3 K
  • 上传时间:2023-01-24
  • 下载次数:0次
  • 浏览次数:1次
  • 资源积分:1积分
  • 标      签: 防止

资 源 简 介

野人与修道士问题 这是一个古典的问题.假设有n个修道士和n个野人准备渡河,但只有一条能容纳c人的小船,为了防止野人侵犯修道士,要求无论在何处,修道士的个数不得少于野人的人数(除非修道士个数为0).如果两种人都会划船,试设计一个算法,确定他们能否渡过河去,若能,则给出一个小船来回次数最少的最佳方案. 要求: (1) 用一个三元组(x1,x2,x3)表示渡河过程中各个状态.其中,x1表示起始上岸修道士个数,x2表示起始岸上野人个数,x3表示小船位置(0-在目的岸,1-在起始岸).例如(2,1,1),表示起始岸有两个修道士,一个野人,小船在起始岸一边. 采用邻接表做为存储结构,将各种状态之间的迁移图保存下来. (2)采用广度搜索法,得到首先搜索到边数最少的一条通路. (3)输出数据 若问题有解(能渡过河去),则输出一个最佳方案.用三元组表示渡河过程中的状态,并用箭头指出这些状态之间的迁移: 目的状态<-...中间状态<-...初始状态. 若问题无解,则给出"渡河失败"的信息. (4)求出所有的解.

相 关 资 源

您 可 能 感 兴 趣 的

同 类 别 推 荐

VIP VIP
0.191135s