80分求助!

P1162 填涂颜色

Gartjock @ 2024-07-12 15:56:54

WA了#6

#include<bits/stdc++.h>
using namespace std;
int dx[4]={0,0,1,-1},dy[4]={-1,1,0,0};
long long a[36][36],b[36][36],n,t;
int main(){
    cin>>n;
    for(int i=0;i<n;i++){
        for(int j=0;j<n;j++){
            cin>>a[i][j];
        }
    }
    for(int i=0;i<n;i++){
        for(int j=0;j<n;j++){
            if(a[i][j]==0)a[i][j]=3;
            else break;
        }
    }
    for(int j=0;j<n;j++){
        for(int i=n-1;i>=0;i--){
            if(a[i][j]==0)a[i][j]=3;
            else break;
        }
    }
    for(int j=n-1;j>0;j--){
        for(int i=0;i<n;i++){
            if(a[i][j]==0)a[i][j]=3;
            else break;
        }
    }
    for(int i=n-1;i>=0;i--){
        for(int j=n-1;j>=0;j--){
            if(a[i][j]==0)a[i][j]=3;
            else break;
        }
    }
    for(int i=0;i<n;i++){
        for(int j=0;j<n;j++){
            if(a[i][j]==0)a[i][j]=2;
        }
    }
    for(int i=n-1;i>=0;i--){
        for(int j=n-1;j>=0;j--){
            if(a[i][j]==3)a[i][j]=0;
        }
    }
    for(int i=0;i<n;i++){
        for(int j=0;j<n;j++){
            cout<<a[i][j]<<" ";
        }
        cout<<endl;
    }
    return 0;
}

by WANG_HU @ 2024-07-12 16:21:23

你怎么用的for循环,应该用搜索做啊


|