0分求助
原题链接:8003.拯救小码君2025-07-10 16:33:27
发布于:广东
样例全过了,但WA:(
#include<bits/stdc++.h>
using namespace std;
const int nt[4][2]={1,0,-1,0,0,1,0,-1};
char c[1010][1010];
bool vis[1010][1010];
int x,y;
bool check(int x1,int y1){
    return x1>=0&&x1<=x+1&&y1>=0&&y1<=y+1&&c[x1][y1]=='0'&&!vis[x1][y1];
}
void dfs(int x1,int y1){
    for(int i=0;i<4;i++){
        int nx=x1+nt[i][0];
        int ny=y1+nt[i][1];
        if(check(nx,ny)){
            vis[nx][ny]=1;
            dfs(nx,ny);
        }
    }
}
int main(){
    scanf("%d%d",&x,&y);
    for(int i=1;i<=x;i++){
        for(int j=1;j<=y;j++){
            cin>>c[i][j];
        }
    }
    for(int i=0;i<=x+1;i++){
        c[i][0]='0';
        c[i][y+1]='0';
    }
    for(int i=0;i<=y+1;i++){
        c[0][i]='0';
        c[x+1][i]='0';
    }
    dfs(0,0);
    int cnt=0;
    for(int i=1;i<=x;i++){
        for(int j=1;j<=y;j++){
            if(c[i][j]=='0'&&!vis[i][j])cnt++;
        }
    }
    printf("%d",cnt);
    return 0;
}
全部评论 3
#include<bits/stdc++.h> using namespace std; int main(){ string a; cin>>a; if(a[0]=='u'){ cout<<464; } else if(a[0]=='f'){ cout<<436; } else if(a[0]=='i'){ cout<<407; } else if(a[0]=='c'){ cout<<406; } else if(a[0]=='x'){ cout<<380; } else if(a[0]=='t'){ cout<<465; } else if(a[0]=='n'){ cout<<409; } else if(a[0]=='m'&&a[1]=='p'){ cout<<407; } else{ cout<<437; } return 0; }2025-09-10 来自 浙江
0第一个样例有点离谱
输入:mzbmweyydiadtlcouegmdbyfwurpwb
输出:4372025-07-12 来自 福建
0就是不知道这题是不是人出的!!!
2025-07-11 来自 广东
0

















有帮助,赞一个