求解错误原因!!!
2025-09-13 11:07:24
发布于:浙江
32阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
int ax[4]={0,1,0,-1};
int ay[4]={1,0,-1,0};
int a[45][45];
int n,m,cnt;
void dfs(int x,int y){
    a[x][y]=1;
    for(int i=0;i<4;i++){
        int nx=x+ax[i];
        int ny=y+ay[i];
        if(nx>=1&&nx<=n&&ny>=1&&ny<=m&&a[nx][ny]!=1){
            cnt++;
            dfs(nx,ny);
        }
    }
    return;
}
int main(){
    int x,y;
    cin>>n>>m;
    for(int i=1;i<=n;i++){
        for(int j=1;j<=m;j++){
            char b;
            cin>>b;
            if(b=='.'){
                a[i][j]=0;
            }else if(b=='@'){
                a[i][j]=0;
                x=i;
                y=j;
            }else{
                a[i][j]=1;
            }
        }
    }
    cnt++;
    dfs(x,y);
    cout<<cnt;
    return 0;
}
全部评论 6
- 请读题 - 5天前 来自 浙江 0
- 读题 - 5天前 来自 浙江 0
- 以后记得读样例和题目 - 5天前 来自 福建 0
- 读题 - 5天前 来自 广东 0
- 读题 - 2025-09-13 来自 浙江 0
- 读题 - 2025-09-13 来自 北京 0























有帮助,赞一个