罗密欧与朱丽叶迷宫课程设计报告.pdf

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
课程设计报告文档 题目: 罗密欧与朱丽叶的迷宫问题 一.任务的描述 1.问题描述: 罗密欧与朱丽叶的迷宫。罗密欧与朱丽叶身处一个 m×n 的迷宫中。每一个方格表示迷宫中的一个房间。这 m×n 个房间 中有一些房间是封闭的,不允许任何人进入。在迷宫中任何位 置均可沿 8 个方向进入未封闭的房间。罗密欧位于迷宫的(p,q) 方格中,他必须找出一条通向朱丽叶所在的(r,s)方格的路。在 抵达朱丽叶之前,他必须走遍所有未封闭的房间各一次,而且 要使到达朱丽叶的转弯次数为最少。每改变一次前进方向算作 转弯一次。请设计一个算法帮助罗密欧找出这样一条道路。对 于给定的罗密欧与朱丽叶的迷宫,编程计算罗密欧通向朱丽叶 的所有最少转弯道路。 入数据:第一行有 3 个正整数 n ,m ,k ,分别表示迷宫的 行数,列数和封 闭的房间数。接下来的 k 行中,每行 2 个正整 数,表示被封闭的房间所在的行号和列号。最后的 2 行,每行 也有2 个正整数,分别表示罗密欧所处的方格(p,q)和朱丽叶所 处的方格(r,s)。 结果 出: 将计算出的罗密欧通向朱丽叶的最少转弯次数 1 和有多少条不同的最少转弯道路。文件的第一行是最少转弯次 数。文件的第 2 行是不同的最少转弯道路数。接下来的 n 行每 行 m 个数,表示迷宫的一条最少转弯道路。A[i][j]=k 表示第 k 步到达方格(i,j) ;A[i][j]=-1 表示方格(i,j)是封 闭的。 如果罗 密欧无法通向朱丽叶则 出“No Solution!”。 入文件示例 4 3 2 1 2 3 4 1 1 2 2 出文件示例 6 7 1 -1 9 8 2 10 6 7 3 4 5 -1 2 任务目标:(1)确定能对给定的任何位置的罗密欧都能够找到 一条通向朱丽叶的路线; (2)程序能够演示一条罗密欧找到朱丽叶的路线过程等。 2 3.运行环境: vc++6.0 二.任务设计 1.系统流程图: 程序概要的流程 图如下: 数据初始化 得到罗密欧 位置 沿八个方向 搜索 否 是否满足剪枝函数 是 沿该方向深 度搜索 否 继续朝其它方 是否得到一个解 向搜索 是 与当前最优解比 较,适时更新 2.函数的划分: 3 (1)函数 1 :void print() //调用自动显示函数 au()和动态显示函 数 dynamic(), 出一条转弯最少的路径 (2)函数 2 :void search(intdep ,int x,i

文档评论(0)

wx171113 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档