文件名称:xdsyyr

  • 所属分类:
  • 数据结构常用算法
  • 资源属性:
  • [C/C++] [源码]
  • 上传时间:
  • 2012-11-26
  • 文件大小:
  • 2kb
  • 下载次数:
  • 0次
  • 提 供 者:
  • 何**
  • 相关连接:
  • 下载说明:
  • 别用迅雷下载,失败请重下,重下不扣分!

介绍说明--下载内容均来自于网络,请自行研究使用

野人与修道士问题



这是一个古典的问题.假设有n个修道士和n个野人准备渡河,但只有一条能容纳c人的小船,为了防止野人侵犯修道士,要求无论在何处,修道士的个数不得少于野人的人数(除非修道士个数为0).如果两种人都会划船,试设计一个算法,确定他们能否渡过河去,若能,则给出一个小船来回次数最少的最佳方案.



要求:



(1) 用一个三元组(x1,x2,x3)表示渡河过程中各个状态.其中,x1表示起始上岸修道士个数,x2表示起始岸上野人个数,x3表示小船位置(0-在目的岸,1-在起始岸).例如(2,1,1),表示起始岸有两个修道士,一个野人,小船在起始岸一边.



采用邻接表做为存储结构,将各种状态之间的迁移图保存下来.



(2)采用广度搜索法,得到首先搜索到边数最少的一条通路.



(3)输出数据



若问题有解(能渡过河去),则输出一个最佳方案.用三元组表示渡河过程中的状态,并用箭头指出这些状态之间的迁移:



目的状态<-...中间状态<-...初始状态.



若问题无解,则给出"渡河失败"的信息.



(4)求出所有的解.-err
相关搜索: 过河
修道士

(系统自动生成,下载前可以参看下载内容)

下载文件列表

xdsyyr.c

相关说明

  • 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
  • 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度更多...
  • 请直接用浏览器下载本站内容,不要使用迅雷之类的下载软件,用WinRAR最新版进行解压.
  • 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
  • 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
  • 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.

相关评论

暂无评论内容.

发表评论

*主  题:
*内  容:
*验 证 码:

源码中国 www.ymcn.org