dfs全TLE求助

P1238 走迷宫

来到一个点要标记已来过,而且要判断-1的情况。 可以参考我的代码: ```cpp #include <iostream>//qwq #include <cstdio> #include <cstdlib> #include <cmath> using namespace std; int m,n,map[15][15],sum[50000][2]/*记录每步的坐标*/,ax,ay/*起点*/,bx,by/*终点*/,k/*步数*/,pd; int cx[4] = {0,-1,0,1}; int cy[4] = {-1,0,1,0}; bool temp[15][15]; void go(int x,int y){//搜索回溯 if (x == bx && y == by){ if (!pd) pd = 1; for (int h = 0;h <= k - 1;h++) printf("(%d,%d)->",sum[h][0],sum[h][1]); printf("(%d,%d)\n",bx,by); } else for (int i = 0;i <= 3;i++) if (map[x + cx[i]][y + cy[i]] && !temp[x + cx[i]][y + cy[i]]){ temp[x][y] = true,sum[k][0] = x,sum[k][1] = y,k++; go(x + cx[i],y + cy[i]); temp[x][y] = false,k--;//回溯 } } int main(){ cin >> m >> n; for (int i = 1;i <= m;i++) for (int j = 1;j <= n;j++) cin >> map[i][j]; cin >> ax >> ay >> bx >> by; go(ax,ay); if (pd == 0) cout << -1; return 0; } ```
by Zoe_888 @ 2024-04-25 17:50:18


@[Zoe_888](/user/556181) 这个是我改后的代码,为什么还是不对? ```cpp #include <iostream> using namespace std; int n,m; int pic[100][100]; struct pos{ int x,y; }; bool vis[100][100]={0}; pos a,b; int dfs(pos a1,pos b1){ cout<<"("<<a1.x<<","<<a1.y<<")"; if (a1.x==b1.x&&a1.y==b1.y){ cout<<endl; return 0; } cout<<"->"; if (a1.y-1>=1&&pic[a1.x][a1.y-1]==1&&vis[a1.x][a1.y-1]==0){ vis[a1.x][a1.y-1]=1; pos f={a1.x,a1.y-1}; dfs(f,b1); vis[a1.x-1][a1.y]=0; } if (a1.x-1>=1&&pic[a1.x-1][a1.y]==1&&vis[a1.x-1][a1.y]==0){ vis[a1.x-1][a1.y]=1; pos f={a1.x-1,a1.y}; dfs(f,b1); vis[a1.x-1][a1.y]=0; } if (a1.y+1<=n&&pic[a1.x][a1.y+1]==1&&vis[a1.x][a1.y+1]==0){ vis[a1.x][a1.y+1]=1; pos f={a1.x,a1.y+1}; dfs(f,b1); vis[a1.x-1][a1.y]=0; } if (a1.x+1<=n&&pic[a1.x+1][a1.y]==1&&vis[a1.x+1][a1.y]==0){ vis[a1.x+1][a1.y]=1; pos f={a1.x+1,a1.y}; dfs(f,b1); vis[a1.x+1][a1.y]=0; } return 0; } int main(){ vis[1][1]=1; cin>>n>>m; for (int i=1;i<=n;i++){ for (int j=1;i<=m;j++){ cin>>pic[i][j]; } } cin>>a.x>>a.y>>b.x>>b.y; dfs(a,b); return 0; } ```
by love20110429 @ 2024-04-25 18:00:15


@[love20110429](/user/1095806) (TLE)
by love20110429 @ 2024-04-25 18:00:52


@[love20110429](/user/1095806) 斯哈,说不清了
by Zoe_888 @ 2024-04-25 18:12:12


|