最少拐弯数
-
输入
4 4 S..* .*.* .... .*.T
输出
2
-
题意:给你一个有起点与终点的图,求最小拐弯数。
-
BFS,往一个方向一直走(即同一方向一次全入队)。
注意遇已走过处应选择不更新(没必要),同时跳过继续走,而非停止脚步。
#include<cstdio>
#include<queue>
using namespace std;
int n,m;
char a[2017][2017];
int step[2017][2017];
int dx[]={
0,1,0,-1};
int dy[]={
1,0,-1,0};
struct S{
int x,y;
}be,en;
int main(){
scanf("%d%d",&n,&m);
for(int i=0;i<n;++i)for(int j=0;j<m;++j)step[i][j]=-1;
getchar();
for(int i=0;i<n;++i){
for(int j=0;j<m;++j){
scanf("%c",&a[i][j]);
if