Description
在一个n*m的有起点和终点的二维地图中找出起点终点的通路
‘#’、’.’、‘S’、'G’分别表示墙壁、通道、起点、终点
保证输入合法,且结果不超过int范围, 地图中一点只与上下左右4个点相邻。
Input
第一行包含两个数n<=100,m<=100 表示二维地图的行数,列数。
接下来有n行,表示地图。
Output
如果起点终点连通,输出exist!,否则,输出not exist!.
Sample Input
10 10
#S######.#
......#..#
.#.##.##.#
.#........
##.##.####
....#....#
.#######.#
....#.....
.####.###.
....#...G#
Output
exist!
完整代码:
#include<iostream>
using namespace std;
int book[101][101], x, y, p, q, flag = 0, n, m;//pq终点xy起点
char a[101][101];
void dfs(int x, int y) {
//cout << x << y << endl;测试
int next[4][2] = {
{0,1},//右
{1,0},//下
{0,-1},//左
{-1,0}//上
};
int tx = -1, ty = -1, k;//