mm2r古洛文迷宮地圖,洛谷P1238 走迷宮

 2023-12-06 阅读 14 评论 0

摘要:走迷宮 題目鏈接 這道題第一次寫的時候寫了好久,因為不會寫輸出qwqwq,于是讓某苦力調了兩天一個對的程序。 還有這道題需要另外注意的地方是它對順序有要求,并且一定要分清你的橫縱坐標和行列是不一樣的。 然后應該就沒有什么了吧。 AC代碼如下:

走迷宮

題目鏈接

這道題第一次寫的時候寫了好久,因為不會寫輸出qwqwq,于是讓某苦力調了兩天一個對的程序。
還有這道題需要另外注意的地方是它對順序有要求,并且一定要分清你的橫縱坐標和行列是不一樣的。
然后應該就沒有什么了吧。
AC代碼如下:

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
#define MAXN 10010
using namespace std;
int G[MAXN][MAXN];
int vis[MAXN][MAXN];
int m,n;
int SX,SY,EX,EY;
int P[MAXN][2];
int total=0;
int next[4][2]={{0,-1},{-1,0},{0,1},{1,0}};
void dfs(int x,int y,int step)
{//if(x<1||x>m||y<1||y>n) return;P[step][0]=x;P[step][1]=y;if(x==EX&&y==EY){for(int i=0;i<step;i++){printf("(%d,%d)->",P[i][0],P[i][1]);}printf("(%d,%d)\n",P[step][0],P[step][1]);total++;return;}//int a;
//  int b;for(int i=0;i<=3;i++){int a=x+next[i][0];int b=y+next[i][1];if(G[a][b]==1&&vis[a][b]==0){vis[a][b]=1;dfs(a,b,step+1);vis[a][b]=0;}}
}
int main()
{scanf("%d%d",&m,&n);for(int i=1;i<=m;i++){for(int j=1;j<=n;j++){scanf("%d",&G[i][j]);}}scanf("%d%d%d%d",&SX,&SY,&EX,&EY);vis[SX][SY]=1;dfs(SX,SY,0);if(total==0){printf("-1");}return 0;
}

轉載于:https://www.cnblogs.com/LITTLESUNwl/p/10676058.html

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/4/190605.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息