4 条题解

  • 0
    @ 2025-3-22 16:06:52

    #include <bits/stdc++.h> using namespace std;

    const int MAXN = 105; int n, m, ans; char a[MAXN][MAXN];

    void dfs(int x, int y) { if (x < 1 || x > n || y < 1 || y > m || a[x][y] == '0') { return; } a[x][y] = '0'; dfs(x + 1, y); dfs(x, y + 1); dfs(x - 1, y); dfs(x, y - 1); }

    int main() { cin >> n >> m; for (int i = 1; i <= n; i++) { for (int j = 1; j <= m; j++) { cin >> a[i][j]; } } for (int i = 1; i <= n; i++) { for (int j = 1; j <= m; j++) { if (a[i][j] != '0') { ans++; dfs(i, j); } } } cout << ans << endl; return 0; }

    信息

    ID
    2311
    时间
    1000ms
    内存
    256MiB
    难度
    6
    标签
    递交数
    325
    已通过
    103
    上传者