C++8AC2WA,尝试了各种奇怪调试法
查看原帖
C++8AC2WA,尝试了各种奇怪调试法
363302
Ja50nY0un9_as_AgNO3楼主2021/8/3 20:17
# include <iostream>
# include <cstdio>
using namespace std;
char c[10001][10001];
int cnt;
int n, m;

bool dfs(int x, int y)
{
    if(x<1||x>n||y<1||y>n) return false;
    if(c[x][y]=='.') return false;
    c[x][y]='.';
    dfs(x+1, y+1);
    dfs(x+1, y);
    dfs(x+1, y-1);
    dfs(x, y+1);
    dfs(x, y-1);
    dfs(x-1, y+1);
    dfs(x-1, y);
    dfs(x-1, y-1);
    return true;
}

int main()
{
    cin>>n>>m;
    for(int i=1; i<=n; i++)
        for(int j=1; j<=m; j++)
            cin>>c[i][j];
    for(int i=1; i<=n; i++)
        for(int j=1; j<=n; j++)
            if(dfs(i, j)) cnt++;
    cout<<cnt;
    return 0;
}

(代码写得有点离谱,勿喷)

2021/8/3 20:17
加载中...