2 条题解

  • 0
    @ 2026-6-16 18:53:38

    李冠豪是gay 👎

    • -1
      @ 2026-6-16 18:48:57
      using namespace std;
      
      int main() {
          ios::sync_with_stdio(false);
              cin.tie(nullptr);
                  freopen("hiking.in", "r", stdin);
                      freopen("hiking.out", "w", stdout);
      
                          int n, m;
                              cin >> n >> m;
                                  vector<string> g(n);
                                      for (int i = 0; i < n; ++i) cin >> g[i];
      
                                          vector<vector<int>> vis(n, vector<int>(m));
                                              int ans = 0;
                                                  int dx[4] = {-1, 1, 0, 0}, dy[4] = {0, 0, -1, 1};
      
                                                      for (int i = 0; i < n; ++i) {
                                                              for (int j = 0; j < m; ++j) {
                                                                          if (g[i][j] != '#' || vis[i][j]) continue;
                                                                                      ++ans;
                                                                                                  queue<pair<int,int>> q;
                                                                                                              q.push({i, j});
                                                                                                                          vis[i][j] = 1;
                                                                                                                                      while (!q.empty()) {
                                                                                                                                                      auto [x, y] = q.front(); q.pop();
                                                                                                                                                                      for (int k = 0; k < 4; ++k) {
                                                                                                                                                                                          int nx = x + dx[k], ny = y + dy[k];
                                                                                                                                                                                                              if (nx < 0 || nx >= n || ny < 0 || ny >= m) continue;
                                                                                                                                                                                                                                  if (vis[nx][ny] || g[nx][ny] != '#') continue;
                                                                                                                                                                                                                                                      vis[nx][ny] = 1;
                                                                                                                                                                                                                                                                          q.push({nx, ny});
                                                                                                                                                                                                                                                                                          }
                                                                                                                                                                                                                                                                                                      }
                                                                                                                                                                                                                                                                                                              }
                                                                                                                                                                                                                                                                                                                  }
      
                                                                                                                                                                                                                                                                                                                      cout << ans << '\n';
                                                                                                                                                                                                                                                                                                                          return 0;
                                                                                                                                                                                                                                                                                                                          }****
      
      • 1

      信息

      ID
      440
      时间
      1000ms
      内存
      256MiB
      难度
      6
      标签
      (无)
      递交数
      121
      已通过
      39
      上传者