- 红与黑
代码
- 2024-3-15 19:02:10 @
#include<bits/stdc++.h>
using namespace std;
int a[22][22],sum=0,w,h;
void dfs(int x,int y){
sum++;
a[x][y]=0;
if(a[x+1][y]) dfs(x+1,y);
if(a[x-1][y]) dfs(x-1,y);
if(a[x][y+1]) dfs(x,y+1);
if(a[x][y-1]) dfs(x,y-1);
}
int main(){
int x,y;
char a1;
while(cin>>w>>h&&!(w==0&&h==0)){
sum=0;
memset(a,0,sizeof(a));
for(int i=1;i<=h;i++)
for(int j=1;j<=w;j++){
cin>>a1;
if(a1=='.'||a1=='@')a[i][j]=1;
if(a1=='@'){
x=i;
y=j;
}
}
dfs(x,y);
cout<<sum<<endl;
}
return 0;
}
0 条评论
目前还没有评论...
信息
- ID
- 217
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 8
- 标签
- (无)
- 递交数
- 50
- 已通过
- 7
- 上传者