迷宫问题pascal程序
Description
设有一个n×n的方格迷宫,入口和出口分别在左上角和右上角(如图的示)
迷宫的格子分别放有0和1,0表示可通,1表示不能,迷宫走的规则如下图所示。
即从某点出发,可沿8个方向前进,前进方格中的数为0时表示可以通过,为1时表示不可以通过,如从入口开始,有2条路可以走,即向右走,或向右下角走,当迷宫给出后,找出一条从入口(1,1)到出口(1,8)的有多少条不同的中路径。
Input
Output
Sample Input
8 0 0 0 1 1 0 1 0 1 0 1 1 0 1 1 0 0 1 0 0 1 0 0 1 0 0 1 1 0 1 0 1 0 1 0 0 0 1 1 0 0 1 1 1 1 1 0 1 0 0 1 1 1 0 1 1 1 1 0 0 0 0 0 0
Sample Output
720
这题我是用搜索来做的
搜的时候,能走八个方向,如果下一个点能走就记录下来,继续搜。
var n,x,y,s,t,i,j:longint; a:array[0..1001,0..1001]of longint; b:array[0..1001]of longint; dx:array[1..8]of longint=(0,0,1,1,1,-1,-1,-1); dy:array[1..8]of longint=(1,-1,0,1,-1,0,1,-1); procedure search(x,y:longint); var i:longint; beginif (x=1)and(y=n) thenbegininc(t);exit;end elsefor i:=1 to 8 doif (a[x+dx[i],y+dy[i]]<>1)and(x+dx[i] in [1..n])and(y+dy[i] in [1..n]) thenbegina[x+dx[i],y+dy[i]]:=1;search(x+dx[i],y+dy[i]);a[x+dx[i],y+dy[i]]:=0;end; end;beginreadln(n);for i:=1 to n dobeginfor j:=1 to n doread(a[i,j]);readln;end;s:=0;t:=0;a[1,1]:=1;search(1,1);write(t); end.
转载于:https://www.cnblogs.com/YYC-0304/p/9500241.html
迷宫问题pascal程序相关推荐
- Pascal程序结构
Pascal程序结构 什么是Pascal程序结构 Pascal程序结构是指Pascal程序的基本组成部分及其组织方式,包括程序.单元.过程.函数.类型定义.变量定义.语句和表达式等.程序结构的良好设计 ...
- 迷宫pascal程序
题意 走迷宫,要绕开障碍,走过的就不能再走,求有多少种不同的方法可以到达终点 分析 我们可以用深搜来做,输入时把障碍的坐标记录下来 const dx:array[1..4]of longint=(0, ...
- 我的第一次Pascal程序
今天刚刚来学点Pascal语言,都怪我买的书大多是用Pascal语言写的,所以我只能试着学一点咯! 来一段程序员最经典的Hello World! 1 program exl_2; 2 begin 3 ...
- Oliver的救援pascal程序
这题有点像电子老鼠闯迷宫,也是用广搜来做的 我是用字符来输入的 const dx:array[1..4]of longint=(1,-1,0,0); dy:array[1..4]of longint= ...
- 最优乘车pascal程序
Description H城是一个旅游胜地,每年都有成千上万的人前来观光.为方便游客,巴士公司在各个旅游景点及宾馆,饭店等地都设置了巴士站并开通了一些单程巴上线路.每条单程巴士线路从某个巴士站出发,依 ...
- 试卷批分pascal程序
某学校进行了一次英语考试,共有10道是非题,每题为10分,解答用1表示"是",用0表示"非"的方式.但老师批完卷后,发现漏批了一张试卷,而且标准答案也丢失了,手 ...
- 一个搜索迷宫出路的程序
/*1.定义一个结构体position结构体中包括一个方块的行列号和下一个可走方块的方位号 2.定义一个结构体. 包括一个一个position结构体,一个栈顶指针 3.定义入栈.出栈.取栈顶函数 4. ...
- 用Python写一个走迷宫的小程序(图形化:matplotlib,dfs,prim)
不要脸的放到了Github上面,嘿嘿. Github:https://github.com/Radium1209/Maze 先看一下动态效果图(慢放): 首先生成迷宫: 主要用了两个算法:Prim和d ...
- 超级简单的迷宫代码 初学者程序
迷宫 走迷宫一种比较有趣,操作简单的小游戏. #include<stdio.h> #include<getch.h> #include<stdlib.h> #inc ...
最新文章
- 腾讯AI Lab负责人张潼离职,张正友或接替其位
- mysql分页的优势_数据库经典分页几种实例及各优缺点
- linux u盘内容乱码,Linux挂载U盘,中文显示为乱码
- 我给非洲医药基金会捐的款和感谢信
- .NET Exceptionless 日志收集框架本地环境搭建
- linux(2):linux命令查看开放哪些端口
- Java 排序(转)
- 全量增量数据同步方法(Hive date_add date_sub)
- C语言获取系统时间的几种方式 !
- 知乎;如何帮助前端新人入门和提高?
- cocos常用工具-TiledMap
- 【分步入门指南】如何在10分钟内设置EOS钱包和帐户
- Dearun软件简介及使用指南——可以计算数据包络分析(DEA)模型效率值的软件
- 会计准则接轨国际 四方面体现中国特色
- 简支梁挠度计算公式推导_简支梁的最大挠度计算公式 l.ppt
- 鼎捷E10视频教程合集19大模块
- 制作血条/蓝条/蓄力条等进度条(Progress Bar)
- 面积二次矩second moment of area 极惯性矩polar moment of area 转动惯量moment of inertia面积一次矩first moment of area
- 基于summernote的富文本编辑器,粘贴时去除word格式
- UART串口通信常用协议对比——rs232、485的区别