Problem U: 迷宫问题

Problem U: 迷宫问题

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 392  Solved: 193
[Submit] [Status] [Web Board] [Creator:]

Description

一个网格迷宫由n行m列的单元格组成,每个单元格要么是空地(用1表示),要么是障碍物(用2来表示)。你的任务是找一条从起点到终点的最短步数和移动序列,其中UDLR表示上下左右操作。任何时候都不能在障碍物格子中,也不能走到迷宫之外。起点和终点保证都是空地。n,m<100。

Input

输入n+2行,
第一行,输入n,m,分别表示n行m列
n行数网格迷宫,空地(用1表示),障碍物(用2来表示)。
第n+2行,前几个数表示起始坐标位置x,y,后2个数表示要到达的终点位置x,y;

Output

1个数,从起始到终点的最少步数。

Sample Input Copy

4 4
1 1 2 1
1 1 1 1
1 1 2 1
1 2 1 1
1 1 4 3

Sample Output Copy

7

HINT

模板:
#include<bits/stdc++.h>
using namespace std;
int n,m,x,y,xx,yy,a[101][101],ans=99999,s;

void dfs(int x1,int y1)
{
if( )
{

}
for(int i=0;i<=3;i++)
{

if( )
{

}
}
}
int main()
{
cin>>n>>m;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
cin>>a[i][j];
}
}
cin>>x>>y>>xx>>yy;

dfs(x,y);
cout<<ans;
return 0;
}