走迷宫
时限:1000ms 内存限制:10000K 总时限:3000ms
描述:
判断是否能从迷宫的入口到达出口
输入:
先输入两个整数表示迷宫的行数m和列数n,再输入口和出口的坐标,最后分m行输入迷宫,其中1表示墙,0表示空格每个数字之间都有空格。
输出:
若能到达,则输出"Yes",否则输出"No",结果占一行。
输入样例:
3 3
0 0
2 2
0 0 0
1 1 0
0 1 0
输出样例:
Yes
1 #include <stdio.h>
2 #include <stdlib.h>
3 int a[10000][10000],h,l;
4 void search(int i,int j)
5 {
6 if(a[i][j]==0)
7 {
8 a[i][j]=2;
9 if(j-1>=0)
10 search(i,j-1);
11 if(i+1<h)
12 search(i+1,j);
13 if(j+1<l)
14 search(i,j+1);
15 if(i-1>=0)
16 search(i-1,j);
17 }
18 }
19 int main()
20 {
21 scanf("%d %d",&h,&l);
22 int i,j,m,n;
23 scanf("%d %d",&i,&j);
24 scanf("%d %d",&m,&n);
25 int t,b;
26 for(t=0; t<h; t++)
27 for(b=0; b<l; b++)
28 scanf("%d",&a[t][b]);
29 search(i,j);
30 if(a[m][n]==2)
31 printf("Yes\n");
32 else
33 printf("No\n");
34 return 0;
35 }
来源:https://www.cnblogs.com/zhouyee/p/4396285.html