博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
POJ 3984 -- 迷宫问题
阅读量:5741 次
发布时间:2019-06-18

本文共 1174 字,大约阅读时间需要 3 分钟。

Time Limit: 1000MS   Memory Limit: 65536K
Total Submissions: 6059   Accepted: 3502

Description

定义一个二维数组: 
int maze[5][5] = { 	0, 1, 0, 0, 0, 	0, 1, 0, 1, 0, 	0, 0, 0, 0, 0, 	0, 1, 1, 1, 0, 	0, 0, 0, 1, 0, };
它表示一个迷宫,其中的1表示墙壁,0表示可以走的路,只能横着走或竖着走,不能斜着走,要求编程序找出从左上角到右下角的最短路线。

Input

一个5 × 5的二维数组,表示一个迷宫。数据保证有唯一解。

Output

左上角到右下角的最短路径,格式如样例所示。

Sample Input

0 1 0 0 00 1 0 1 00 0 0 0 00 1 1 1 00 0 0 1 0

Sample Output

(0, 0)(1, 0)(2, 0)(2, 1)(2, 2)(2, 3)(2, 4)(3, 4)(4, 4)
1 #include
2 #include
3 #include
4 int maze[10][10],mark[10][10]; 5 const int di[4]={
1,0,-1,0}; 6 const int dj[4]={
0,1,0,-1}; 7 int Step; 8 typedef struct{ 9 int x,y;10 }R;11 struct{12 R data[1000];13 }rec,Rec;14 void dfs(int step,int x,int y){15 int px;16 int py;17 for(int k=0;k<4;k++){18 px=x+di[k];19 py=y+dj[k];20 if(maze[px][py]==0&&mark[px][py]==0){21 step++;22 rec.data[step].x=px;23 rec.data[step].y=py;24 mark[px][py]=1;25 if(px==5&&py==5){26 if(step

 

转载于:https://www.cnblogs.com/gangduo-shangjinlieren/p/3187341.html

你可能感兴趣的文章
Android开发历程_15(AppWidget的使用)
查看>>
阿花宝宝 Java 笔记 之 初识java
查看>>
7、设计模式-创建型模式-建造者模式
查看>>
Cesium官方教程11--建模人员必读
查看>>
我国古代的勾股定理
查看>>
Linux下的C编程实战
查看>>
[32期] html中部分代码与英语单词关系
查看>>
PHP安装环境,服务器不支持curl_exec的解决办法
查看>>
fopen打开文件失败的问题
查看>>
jQuery|元素遍历
查看>>
sql语句大全
查看>>
RedHat 6 安装配置Apache 2.2
查看>>
Openstack 安装部署指南翻译系列 之 Manila服务安装(Share Storage)
查看>>
underscore.js学习笔记
查看>>
windows下常用命令
查看>>
1.5编程基础之循环控制_29:数字反转
查看>>
组策略 之 设备安装设置
查看>>
人工智能还能干这些?这8种AI应用你可能意想不到
查看>>
实现Hyper-V 虚拟机在不同架构的处理器间迁移
查看>>
简单使用saltstack
查看>>