#include <stdio.h>
#include <vector>

using std::vector;

vector < vector <int> > num;
vector <int> in_num;

void dfs(int row, int col) {
    
    if(row < 0 || row >= num.size() || col < 0 || col >= num.size() || num[row][col] != 0) {
        
        return;
    }
    
    num[row][col] = 2;
    
    dfs(row - 1, col);
    dfs(row + 1, col);
    dfs(row, col - 1);
    dfs(row, col + 1);
    
    return;
}

int main() {
    
    int a;
    scanf("%d",&a);
    
    in_num.resize(a + 2, 0);
    num.push_back(in_num);
    
    for(int i = 0; i < a; ++i) {
        
        vector <int> tmp_arr;
        tmp_arr.push_back(0);
        
        for(int t = 0; t < a; ++t) {
            
            int tmp;
            scanf("%d",&tmp);
            
            tmp_arr.push_back(tmp);
        }
        
        tmp_arr.push_back(0);
        num.push_back(tmp_arr);
    }
    
    num.push_back(in_num);
    
    dfs(0, 0);
    
    for(int i = 1; i <= a; ++i) {
        
        for(int t = 1; t <= a; ++t) {
            
            if(num[i][t] == 0) {
                
                printf("2 ");
            }
            
            else if(num[i][t] == 1) {
                
                printf("1 ");
            }
            
            else {
                
                printf("0 ");
            }
        }
        
        printf("\n");
    }
    
    return 0;
}

黄老师你罪该万死 别教贪心了 我都学到dfs了

1 comments

  • @ 2024-12-27 23:19:12

    期待寒假班的第n天

    • @ 2024-12-27 23:21:43

      要是没有寒假班 我明年csp都不一定能学到算法3

  • 1