字符数组
Star
2021-11-18 18:59:07
2021-11-26 21:29:58
#include <iostream>
#define N 22
using namespace std;
char maps[N][N];
int ans, m, n;
int dx[4] = {-1, 0, 1, 0};
int dy[4] = {0, -1, 0 ,1};
void dfs(int a, int b){
for(int i = 0; i < 4; ++i){
int x = a + dx[i], y = b + dy[i];
if(x > 0 && x <= n && y > 0 && y <= m && maps[x][y] == '.'){
ans++;
maps[x][y] = '#';
dfs(x, y);
}
}
}
int main(){
int a, b;
while(cin >> m >> n && m && n){
ans = 1;
for(int i = 1; i <= n; ++i){
for(int j = 1; j <= m; ++j){
cin >> maps[i][j];
if(maps[i][j] == '@') {
a = i; b = j;
}
}
}
dfs(a, b);
cout << ans << endl;
}
return 0;
}