#include "bits/stdc++.h" using namespace std; #define print(x) cout< PI; typedef pair V; typedef vector VE; const ll mod = 1000000007; int w,h; char c[20][20]; int dx[4]={1,0,-1,0}; int dy[4]={0,1,0,-1}; int check[20][20]; int dfs(int y,int x,char h){ c[y][x]=h; REP(i,4){ int nx=x+dx[i]; int ny=y+dy[i]; if(0<=nx&&nx que; cin>>w>>h; REP(i,h)REP(j,w)cin>>c[i][j]; REP(i,h)REP(j,w)check[i][j]=0; hole_diveide(); REP(i,h)REP(j,w){ if(c[i][j]=='a'){ REP(k,4){ int nx=j+dx[k]; int ny=i+dy[k]; if(ok(ny,nx)) { check[ny][nx]=1; que.push(make_pair(0,make_pair(ny,nx))); } } } } while(!que.empty()){ int y=que.front().second.first; int x=que.front().second.second; if(c[y][x]=='b'){ print(que.front().first); return 0; } que.pop(); REP(k,4){ int nx=x+dx[k]; int ny=y+dy[k]; if(ok(ny,nx)) { check[ny][nx]=1; que.push(make_pair(que.front().first+1,make_pair(ny,nx))); } } } print("error"); return 0; }