C++实现传教士与野人过河问题实验报告(共7页).docx

上传人:晟*** 文档编号:8107036 上传时间:2021-11-17 格式:DOCX 页数:7 大小:161.99KB
下载 相关 举报
C++实现传教士与野人过河问题实验报告(共7页).docx_第1页
第1页 / 共7页
C++实现传教士与野人过河问题实验报告(共7页).docx_第2页
第2页 / 共7页
C++实现传教士与野人过河问题实验报告(共7页).docx_第3页
第3页 / 共7页
C++实现传教士与野人过河问题实验报告(共7页).docx_第4页
第4页 / 共7页
C++实现传教士与野人过河问题实验报告(共7页).docx_第5页
第5页 / 共7页
点击查看更多>>
资源描述

精选优质文档-倾情为你奉上传教士与野人过河问题实验报告1 问题定义河的两岸有三个传教士和三个野人需要过河,目前只有一条能装下两个人的船,在河的任何一方或者船上,如果野人的人数大于传教士的人数,那么传教士就会被野人攻击,怎么找出一种安全的渡河方案呢?2 算法分析首先,先来看看问题的初始状态和目标状态,定义河的两岸分别为左岸和右岸,设定状态集合为(左岸传教士人数,右岸野人数,右岸传教士人数,右岸野人数,船的位置),船的位置:-1表示船在左岸,1表示船在右岸。初始状态:(3,3,0,0,0,-1)目标状态:(0,0,3,3,1)然后,整个问题就抽象成了怎样从初始状态经中间的一系列状态达到目标状态。问题状态的改变是通过划船渡河来引发的,所以合理的渡河操作就成了通常所说的算符,根据题目要求,可以得出以下5个算符(按照渡船方向的不同,也可以理解为10个算符):渡1野人、渡1传教士、渡1野人1传教士、渡2野人、渡2传教士根据船的位置,向左移或向右移通过递归依次执行5种算符,判断是否找到所求,并排除不符合实际的状态,就可以找到所有可能的解,如图1

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 实用文档资料库 > 公文范文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。