1 条题解

  • 1
    @ 2026-6-14 16:39:53

    #include <bits/stdc++.h> using namespace std; int a[101][101]; int n; void dfs(int i,int j) { if(a[i][j]2||a[i][j]1||1>i||i>n||1>j||j>n) return; a[i][j]=2; dfs(i-1,j); dfs(i+1,j); dfs(i,j-1); dfs(i,j+1); return; } int main() { cin>>n; 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++) { if(i1||in) { for(int j=1;j<=n;j++) { dfs(i,j); } } else { if(a[i][1]==0) { dfs(i,1); } if(a[i][n]==0) { dfs(i,n); } } } for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) { if(a[i][j]==2) { cout<<0<<" "; } else if(a[i][j]==0) { cout<<2<<" "; } else cout<<1<<" "; } cout<<endl; } return 0; }

    信息

    ID
    2092
    时间
    1000ms
    内存
    128MiB
    难度
    9
    标签
    递交数
    9
    已通过
    5
    上传者