#include using namespace std; typedef pair P; typedef pair> PP; typedef long long ll; const double EPS = 1e-8; const int INF = 1e9; const int MOD = 1e9+7; int dy[] = {0,1,0,-1}; int dx[] = {1,0,-1,0}; int prim(int n,vector>&c){ n--; vector mincost(n); vector used(n); for(int i=0;i vs; bool dfs(int i,int j,int a,vector>& c){ if(vs[i][j] == '.' && c[i][j] == -1){ c[i][j] = a; for(int k=0;k<4;k++){ dfs(dy[k]+i,dx[k]+j,a,c); } return true; } else return false; } int main(void) { int w,h; cin >> w >> h; vs.resize(h); vector> c(h,vector(w,-1)); for(int i=0;i> vs[i]; } int cnt = 0; for(int i=0;i> dist(cnt+1,vector(cnt+1,INF)); for(int i=0;i