WA三个点求助

P1162 填涂颜色

Habseligkeit @ 2021-10-17 18:46:14


#include<bits/stdc++.h>
using namespace std;
int n,Map[36][36],a[36][36],dy[4]={0,0,-1,1},dx[4]={-1,1,0,0};
void dfs(int x,int y){
    if(x<1||x>n||y<1||y>n||a[x][y]!=0)
        return;
    a[x][y]=1;
    for(int i=0;i<4;i++)
        dfs(x+dx[i],y+dy[i]);
}
int main(){
    cin>>n;
    for(int i=1;i<=n;i++){
        for(int j=1;j<=n;j++){
            cin>>Map[i][j];
            if(Map[i][j]==1)
                a[i][j]=2;
        }
    }
    dfs(0,0);
    for(int i=1;i<=n;i++){
        for(int j=1;j<=n;j++){
            if(a[i][j]==0)
                cout<<2<<' ';
            else
                cout<<Map[i][j]<<' ';           
        }
        cout<<endl;
    }
    return 0;
}

by liangbowen @ 2021-11-04 21:37:15

请详细说明一下,这样会让 dalao 们有目标的帮助您整理错误哦。


by liangbowen @ 2021-11-04 21:37:44

比如:WA了哪几个点


by Eason3Blue @ 2021-12-08 20:24:26

dfs(0,0);

and

if(x<1||x>n||y<1||y>n||a[x][y]!=0)
        return;

注意地图左侧没有添加到一行空白


by Habseligkeit @ 2022-09-25 16:07:32

谢谢


|