'S'是开始位置,'#'表示墙,'.'是通路,'E'是终点,求最短路径长度
#include <iostream>
#include<vector>
#include<string>
#include<utility>
#include<queue>
using namespace std;
int offset[4][2]={1,0,0,1,-1,0,0,-1};
int visited[502][502]={0};
int MinStep=0x0fffff;
void bfs(vector<string>&str,int x,int y){
visited[x][y]=1;
MinStep=0;
queue<pair<int,int> >q;
q.push(pair<int,int>(x,y));
while(!q.empty()){
int size=q.size();
for(int i=0;i<size;++i){
pair<int,int>f=q.front();
q.pop();
for(int j=0;j<4;++j){
int dx=f.first+offset[j][0];
int dy=f.second+offset[j