6 条题解
- 
  4
#include <bits/stdc++.h> #define LL long long using namespace std; const int N = 20 + 10; const int INF = 0x3f3f3f3f; char a [N] [N]; int m , n , k , q , w; int xx [4] = {-1 , 1 , 0 , 0}; int yy [4] = {0 , 0 , 1 , -1}; bool f (int c , int d) { if (a [c] [d] == '.' && c >= 1 && c <= n && d >= 1 && d <= m) { return 1; } return 0; } void dfs (int x , int y) { /*if (a [x] [y] == "#") return;*/ a [x] [y] = '#'; for (int i = 0; i < 4; i++) { int nx = x + xx [i]; int ny = y + yy [i]; if (f (nx , ny)) { k++; dfs (nx , ny); } } } int main() { while (cin >> m >> n) { if (m == 0 && n == 0) { break; } for (int i = 1; i <= n; i++) { for (int j = 1; j <= m; j++) { cin >> a [i] [j]; if (a [i] [j] == '@') { q = i; w = j; } } } k = 1; dfs (q , w); cout << k << endl; } return 0; } 
信息
- ID
 - 3004
 - 时间
 - 1000ms
 - 内存
 - 256MiB
 - 难度
 - 3
 - 标签
 - 递交数
 - 512
 - 已通过
 - 127
 - 上传者