Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <cstdio>#include <cstdlib>#include <cstring>#include <algorithm>#include <queue>using namespace std;char g[101][101];int N,M,startX,startY,step[101][101];int dri[4][2]={{-1,0},{1,0},{0,-1},{0,1}};bool flag;typedef struct {int x;int y;}Node;queue<Node> q;void dfs(){Node a,s;int x,y;memset(step,-1,sizeof(step));a.x=startX;a.y=startY;step[a.x][a.y]=0;q.push(a);while(!q.empty()){s=q.front();q.pop();if(g[s.x][s.y]=='.'||g[s.x][s.y]=='H'){for(int i=0;i<4;i++){