社区讨论

#6号测试点TLE 蒟蒻求助~

B3625迷宫寻路参与者 3已保存回复 2

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
2 条
当前快照
1 份
快照标识符
@mhjh3wo6
此快照首次捕获于
2025/11/04 02:28
4 个月前
此快照最后确认于
2025/11/04 02:28
4 个月前
查看原帖
我#6号测试点TLE,代码如下
CPP
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int n,m;
char maze[100][100];
int visited[100][100];
int dfs(int x,int y) {
    if(x == n && y == m) {return 1;}
    visited[x][y]=1;
    if(maze[x][y+1] == '.' && visited[x][y+1]==0 && y+1 <= m) {
        if (dfs(x, y+1) == 1) return 1;
    }
    if(maze[x-1][y] == '.' && visited[x-1][y]==0 && x-1 >= 1) {
        if (dfs(x-1, y) == 1) return 1;
    }
    if(maze[x][y-1] == '.' && visited[x][y-1]==0 && y-1 >= 1) {
        if (dfs(x, y-1) == 1) return 1;
    }
    if(maze[x+1][y] == '.' && visited[x+1][y]==0 && x+1 <= n) {
        if (dfs(x+1, y) == 1) return 1;
    }

    return 0;
}
int main() {
    ios::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);
    cin>>n>>m;
    for(int i=1;i<=n;i++) {
        for(int j=1;j<=m;j++) {
            cin>>maze[i][j];
        }
    }
    if (dfs(1,1) == 1) {
        cout<<"Yes"<<endl;
    }
    else {
        cout<<"No"<<endl;
    }

    return 0;
}



想的用DFS来写

回复

2 条回复,欢迎继续交流。

正在加载回复...