- js25125 的博客
[DSES]DFS
- @ 2026-5-15 17:36:24
#include <bits/stdc++.h>
using namespace std;
int n,m,cnt,x,y;char g[55][55];bool vis[55][55];
int dfs(int x ,int y){
if(x<1||y<1||x>n||y>m)return 0;
if(g[x][y]=='#')return 0;
if(vis[x][y])return 0;
vis[x][y]=true;
return dfs(x-1,y)+dfs(x,y+1)+dfs(x+1,y)+dfs(x,y-1)+1;
}
int main(){
cin>>m>>n;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cin>>g[i][j];
if(g[i][j]=='@'){
x=i,y=j;
}
}
}
cout<<dfs(x,y);
return 0;
}