#include<bits/stdc++.h> using namespace std; const int fx[4]={0,1,0,-1},fy[4]={1,0,-1,0}; int n,m; struct churui{ int x,y; }; queue<churui> q; char a[505][505]; int main(){ ios::sync_with_stdio(false); cin.tie(0); cin>>n>>m; for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ cin>>a[i][j]; } } q.push((churui){0,0}); while(!q.empty()){ int x=q.front().x; int y=q.front().y; q.pop(); for(int i=0;i<=3;i++){ int tx=x+fx[i],ty=y+fy[i]; if(tx>=0&&tx<=n+1&&ty>=0&&ty<=m+1&&a[tx][ty]=='0'){ a[tx][ty]='1'; q.push((churui){tx,ty}); } } } int ans=0; for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ if(a[i][j]=='0') ans++; } } return 0; } /************************************************************** Problem: 1913 User: liangshinan Language: C++ Result: Wrong Answer ****************************************************************/