笔记
作者:
南骁
,
2022-08-02 14:38:35
,
所有人可见
,
阅读 180
四面楚歌
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
const int N = 1010;
int n,m,dx[] = {1,0,0,-1},dy[] = {0,-1,1,0},ans = 0;
char g[N][N];
void dfs(int x,int y){
for(int i = 0;i <= 3;i++){
int xi = x+dx[i],yi = dy[i] + y;
if(xi >= 0 && xi <= n + 1 && yi <= m + 1 && yi >= 0 && g[xi][yi] !='1'){
if(g[xi][yi]=='0')ans++;
g[xi][yi] = '1';
dfs(xi,yi);
}
}
}
int main()
{
cin>>n>>m;
for (int i = 1; i <= n; i ++ )
for (int j = 1; j <= m; j ++ )
cin>>g[i][j];
dfs(0,0);
cout<<ans;
return 0;
}