如何防止MLE(爆空间)?
  • 板块P1141 01迷宫
  • 楼主skyark1214
  • 当前回复4
  • 已保存回复4
  • 发布时间2022/3/30 11:08
  • 上次更新2023/10/28 05:11:40
查看原帖
如何防止MLE(爆空间)?
577422
skyark1214楼主2022/3/30 11:08
#include<iostream>
using namespace std;
char a[1005][1005];
int d=0;
void sou(int i,int j){
    d++;
    if(a[i][j]=='1'){
        if(a[i+1][j]=='0'){
            sou(i+1,j);
        }
        if(a[i-1][j]=='0'){
            sou(i-1,j);
        }
        if(a[i][j+1]=='0'){
            sou(i,j+1);
        }
        if(a[i][j-1]=='0'){
            sou(i,j-1);
        }
    }
    if(a[i][j]=='0'){
        if(a[i+1][j]=='1'){
            sou(i+1,j);
        }
        if(a[i-1][j]=='1'){
            sou(i-1,j);
        }
        if(a[i][j+1]=='1'){
            sou(i,j+1);
        }
        if(a[i][j-1]=='1'){
            sou(i,j-1);
        }
    }
}
int main(){
    int m,i,j;
    int n;
    cin>>n;
    cin>>m;
    for(int l=1;l<=n;++l){
        for(int z=1;z<=n;++z){
            cin>>a[l][z];
        }
    }
    for(int k=1;k<=m;++k){
        cin>>i>>j;
        sou(i,j);
        cout<<d<<endl;
        d=0;
    }
    return 0;
}
2022/3/30 11:08
加载中...