AcWing 1113. 红与黑
原题链接
简单
作者:
小黎Wing
,
2021-01-30 11:12:23
,
所有人可见
,
阅读 2
#include <iostream>
#include <cstring>
using namespace std;
int n,m;
char ch[25][25];
bool vis[25][25];
int cnt;
void bfs(int i,int j){
if(i>=0&&i<n&&j>=0&&j<m&&ch[i][j]!='#'&&!vis[i][j]){
vis[i][j] = true;
cnt++;
bfs(i+1,j);
bfs(i-1,j);
bfs(i,j+1);
bfs(i,j-1);
}
}
int main(){
while(cin>>m>>n &&n||m){
memset(vis,false,sizeof(vis));
for(int i=0;i<n;i++) cin>>ch[i];
cnt = 0;
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
if(ch[i][j]=='@'){
bfs(i,j);
break;
}
cout<<cnt<<endl;
}
return 0;
}