- 红与黑
dAMai
- @ 2026-5-30 15:13:11
#include <iostream>
using namespace std;
const int N=30;
char g[N][N];
int n,m,ans=1;
void dfs(int x,int y){
int dx[4]={1,-1,0,0};
int dy[4]={0,0,1,-1};
for(int i=0; i<4; i++){
int x1 = x+dx[i], y1 = y+dy[i];
if(x1>=0 && x1<n && y1>=0 && y1<m && g[x1][y1] == '.'){
ans++;
g[x1][y1] = '#';
dfs(x1,y1);
}
}
}
int main(){
int x,y;
while(cin>>m>>n,n && m){
ans = 1;
for(int i=0; i<n; i++){
for(int j=0; j<m; j++){
cin>>g[i][j];
if(g[i][j] == '@') x = i, y = j;
}
}
dfs(x,y);
cout<<ans<<endl;
}
return 0;
}
0 条评论
目前还没有评论...
信息
- ID
- 218
- 时间
- ms
- 内存
- MiB
- 难度
- 2
- 标签
- 递交数
- 299
- 已通过
- 94
- 上传者