#include<bits/stdc++.h> using namespace std; int n,m; char a[555][555]; int fx[4]={1,-1,0,0}; int fy[4]={0,0,1,-1}; int sum; void dfs(int x,int y){ if(a[x][y]=='0'){ a[x][y]='*'; for(int i=0;i<4;i++){ int tx=x+fx[i]; int ty=y+fy[i]; if(a[tx][ty]=='0') dfs(tx,ty); } } } int main(){ cin>>n>>m; for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) cin>>a[i][j]; for(int i=1;i<=n;i++){ if(i==1||i==n) for(int j=1;j<=m;j++) dfs(i,j); else{ dfs(i,1);dfs(i,m); } } for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ if(a[i][j]=='0') sum++; } } cout<<sum; return 0; } /************************************************************** Problem: 1913 User: liuchengxuan Language: C++ Result: Accepted Time:30 ms Memory:2372 kb ****************************************************************/