迷宫问题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);