迷宫问题,最短路径

来源:百度知道 编辑:UC知道 时间:2024/05/17 09:08:15
一个迷宫,如果找出它的最段路径!
手工输入起点和终点;
以及迷宫形状
样例:
输入
7 8 //迷宫规格
1 1 //起点
7 8 //终点
.###....
...##.#.
##....#.
...##...
.#..#.#.
...#...#
##...#.. //迷宫样子 未加边框
抱歉!写掉了一句!
本人学C的!对P不太懂!

下面是用C写的程序:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define max_m 1000
#define max_n 1000

int dir[4][2] = {{1,0},{-1,0},{0,1},{0,-1}};
int maze[max_m][max_n];
int m,n,start_row,start_col,end_row,end_col;
char c;

void read_maze()
{
int i,j;
char buf[256];
memset(buf, 0, sizeof(buf));
fgets(buf, 256, stdin);
sscanf(buf, "%d%d", &m, &n);
fgets(buf, 256, stdin);
sscanf(buf, "%d%d", &start_row, &start_col);
start_row--;start_col--;
fgets(buf, 256, stdin);
sscanf(buf, "%d%d", &end_row, &end_col);
end_row--;end_col--;
for (i = 0; i < m; i++)
{
for (j = 0; j < n; j++)
{
scanf("%c", &c);