罗密欧与朱丽叶迷宫求解问题.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

PAGE

PAGE1

课程设计报告文档

题目:罗密欧与朱丽叶迷宫求解问题

一.任务的描述

1.目标:1、对于给定的罗密欧与朱丽叶的迷宫,编程计算罗密欧通向朱丽叶的所有最少转弯道路

2、程序能够演示一条罗密欧找到朱丽叶的路线过程等

2.任务描述:?罗密欧与朱丽叶的迷宫。罗密欧与朱丽叶身处一个m×n的

迷宫中,如图所示。每一个方格表示迷宫中的一个房间。这m×n

个房间中有一些房间是封闭的,不允许任何人进入。在迷宫中任?

何位置均可沿8个方向进入未封闭的房间。罗密欧位于迷宫的。

(p,q)方格中,他必须找出一条通向朱丽叶所在的(r,s)方格的

路。在抵达朱丽叶之前,他必须走遍所有未封闭的房间各一次,

而且要使到达朱丽叶的转弯次数为最少。每改变一次前进方

向算作转弯一次。请设计一个算法帮助罗密欧找出这样一条路。

3.运行环境:硬件:装有windows操作系统的计算机

软件:VisualC++6.0

4.条件与限制:实验中的迷宫数组不能太大,否则运行时时间复杂度会很大。

二.任务设计

1.系统流程图:

输入m,n,k,x,y,x1,y1-1-dirsbest-1000count-0

输入m,n,k,x,y,x1,y1

-1-dirsbest-1000count-0

dep==m*n-kx==x1y==y1dirs=best

dep==m*n-kx==x1y==y1dirs=best

是否否

dep==m*n-k||x==x1y==y1||dirsbest是否dirsbest是否

dep==m*n-k||x==x1

y==y1||dirsbest

是否

dirsbest

是否

count+1-count

count+1-

count

best=dirs;

count=1;

1-i

1-j

bestb[i][j]=

board[i][j]

j+1-j

直到j=n

i+i-i

直到i=m

1-i

1-i

p=x+dx[i]

q=y+dy[i]

x0

x=m

y0

y=n

board[x][y]==0

dirs+1-dirs

直到i=8

return

return

return

board[p][q]=dep+1di!=i

board[p][q]=dep+1

di!=i

dirs+1-dirs

直到i=8

di!=i

dirs-1-dirs

board[p][q]=0;

输出

输出best,count

**bestb

2.函数的划分:

(1)函数1:boolstepok(intx,inty)判断是(x,y)否越界。

(2)函数2:voidsave()保存一条转弯最少的路径

(3)函数3:voidsearch(intdep,intx,inty,intdi)在当前位置(x,y)按照八个方向搜索,dep用于标记已经走过的房间数,di表示八个方向。

(4)函数4:voidmain()主函数初始化迷宫数组,并调用search函数输出一条迷宫路线。

3.函数之间的关系:主函数调用search函数,search函数调用stepok和save函数完成搜索。如下图

main函数

save函数

调用search函数递归调用search函数

调用stepok函数

输出结果

四.编写代码

1.问题1

(1)问题描述:程序中关于迷宫的参数较多使得问题复杂难懂,编写时也容易使用混淆。

(2)解决办法:通过多次手动走迷宫对每一个参数都有深入的理解,这样使用时才

文档评论(0)

有志者事竟成 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:7114163151000053

1亿VIP精品文档

相关文档