迷宫问题
来源:互联网 发布:qq smtp服务器发送端口 编辑:程序博客网 时间:2024/06/17 04:08
Time Limit: 1000 ms Case Time Limit: 1000 ms Memory Limit: 64 MB
Total Submission: 36 Submission Accepted: 9
Total Submission: 36 Submission Accepted: 9
Description
由M行N列的方格构成一个迷宫,相邻方格之间可能是相通的,也可能有隔墙,各方格位置由对应坐标确定。在(1,1)处由入口,在(M,N)处有一个出口,在入口和出口之间有路相通,求从入口到出口的最短路径,若无法到达,输出“-1”
Input
第1行有两个整数,M,N(2<=M,N<=10), 接下来是M*N的0,1矩阵 0表示通路,1表示墙(数据保证入口和出口为通路)。
Output
输出最短路径
Sample Input
OriginalTransformed6 80 0 1 0 0 0 1 11 0 0 0 1 0 0 00 0 0 1 1 0 1 11 1 0 1 0 0 0 0 0 0 0 0 0 1 0 11 0 1 0 0 0 0 0
6[SP]8[EOL] 0[SP][SP]0[SP][SP]1[SP][SP]0[SP][SP]0[SP][SP]0[SP][SP]1[SP][SP]1[EOL] 1[SP][SP]0[SP][SP]0[SP][SP]0[SP][SP]1[SP][SP]0[SP][SP]0[SP][SP]0[EOL] 0[SP][SP]0[SP][SP]0[SP][SP]1[SP][SP]1[SP][SP]0[SP][SP]1[SP][SP]1[EOL] 1[SP][SP]1[SP][SP]0[SP][SP]1[SP][SP]0[SP][SP]0[SP][SP]0[SP][SP]0[SP][EOL] 0[SP][SP]0[SP][SP]0[SP][SP]0[SP][SP]0[SP][SP]1[SP][SP]0[SP][SP]1[EOL] 1[SP][SP]0[SP][SP]1[SP][SP]0[SP][SP]0[SP][SP]0[SP][SP]0[SP][SP]0[EOF]
Sample Output
OriginalTransformed12
12[EOL] [EOF]
#include<cstdio>#include<iostream>#include<cstring>#include<queue>//#define DEBUGusing namespace std;const int maxn = 15;int map[maxn][maxn];int dis[maxn][maxn];bool flag[maxn][maxn];bool result;int dir[][2] = { { 1,0 },{ -1,0 },{ 0,1 },{ 0,-1 } };int main() {#ifdef DEBUGfreopen("Text.txt", "r", stdin);#endif // DEBUGint n, m;while (cin >> n >> m) {queue< pair<int, int> >q;int i, j;for (i = 1; i <= n; i++)for (j = 1; j <= m; j++)cin >> map[i][j];memset(flag, 0, sizeof(flag));memset(dis, 0, sizeof(dis));q.push(pair<int, int>(1, 1));flag[1][1] = 1;dis[1][1] = 0;result = 0;while (!q.empty()) {int x = q.front().first;int y = q.front().second;q.pop();if (x == n&&y == m) {result = 1;break;}for (i = 0; i < 4; i++) {int xx = x + dir[i][0];int yy = y + dir[i][1];if (xx <= n&&xx > 0 && yy <= m&& yy > 0&& !flag[xx][yy]&&!map[xx][yy]) {q.push(pair<int, int>(xx, yy));dis[xx][yy] = dis[x][y] + 1;flag[xx][yy] = 1;}}}if (result)cout << dis[n][m] << endl;elsecout << -1 << endl;}return 0;}
0 0
- 迷宫问题
- 迷宫问题
- 迷宫问题
- 迷宫问题
- 迷宫问题
- 迷宫问题
- 迷宫问题
- 迷宫问题...
- 迷宫问题
- 迷宫问题
- 迷宫问题
- 迷宫问题
- 迷宫问题
- 迷宫问题
- 迷宫问题
- 迷宫问题
- 迷宫问题
- 迷宫问题
- sql server无法更改或删除 (存在多个相同的行)
- 事务传播机制 事务隔离级别
- Leetcode-392. Is Subsequence
- 27-《电子入门趣谈》第五章_仿真世界里的电子元器件-第二部分-Mutisim案例1
- 东方神灵庙及东方辉针城E难度混关
- 迷宫问题
- GCD浅析
- windows下IE等软件密码口令保存地址
- 机器学习之SVD奇异值原理分析及举例
- GUI
- table
- opencl 实例源码
- Android逆向之路---IDEA动态调试smali语言
- Dynatrace与AspectJ集成:让分布式跟踪变得无限可能