#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]=50; 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]=0; que.push(make_pair(ny,nx)); } } } } while(!que.empty()){ int y=que.front().first; int x=que.front().second; if(c[y][x]=='b'){ print(check[y][x]); return 0; } que.pop(); REP(k,4){ int nx=x+dx[k]; int ny=y+dy[k]; if(ok(ny,nx)) { check[ny][nx]=check[y][x]+1; que.push(make_pair(ny,nx)); } } } print("error"); return 0; }