#include using namespace std; struct I{ I(){ ios::sync_with_stdio(false); cin.tie(0); } }cww; typedef vector VS; typedef vector VI; typedef vector VVI; VS wrap(VS v,char c){ int R=v.size(); int C=v[0].size(); VS res(R+2,string(C+2,c)); for(int i=1;i<=R;i++) for(int j=1;j<=C;j++) res[i][j]=v[i-1][j-1]; return res; } const int dir8[]={0,1,-1,1,1,0,-1,-1,0}; int main(){ int R,C,res=0; cin>>R>>C; VS m(R); for(auto &it:m)cin>>it; m=wrap(wrap(m,'.'),'W'); VVI d(R=m.size(),VI(C=m[0].size(),0)); using P=tuple; queue

que; for(int i=0;i