社区讨论

不知为何,求帮助

P1162填涂颜色参与者 2已保存回复 1

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
1 条
当前快照
1 份
快照标识符
@mkpexk52
此快照首次捕获于
2026/01/22 20:13
4 周前
此快照最后确认于
2026/01/23 16:04
4 周前
查看原帖
CPP
#include<bits/stdc++.h>
using namespace std;

int n,m,f[1001][1001],ans;
char a[1001][1001];

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

int main(){
    cin>>n;
    memset(a,'0',sizeof(a));
    for(int i=1;i<=n;i++){
        for(int j=1;j<=n;j++){
            cin>>a[i][j];
        }
    }
    for(int i=1;i<=n;i++){
        for(int j=1;j<=n;j++){
            if(a[1][j]!='1'||a[i][1]!='1'){
                ans++;
                dfs(i,j);
            }
        }
    }
     for(int i=1;i<=n;i++){
        for(int j=1;j<=n;j++){
            if(a[i][j]==3){
                cout<<0<<" ";
                continue;
            }
            if(a[i][j]==0){
                cout<<2<<" ";
                continue;
            }
            cout<<1<<" ";
        }
        cout<<"\n";
    }
    return 0;
}

回复

1 条回复,欢迎继续交流。

正在加载回复...