博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
洛谷 1238 走迷宫
阅读量:3898 次
发布时间:2019-05-23

本文共 1315 字,大约阅读时间需要 4 分钟。

在这里插入图片描述

这道题花了我好久好久的时间,就是找不出bug,后来是问了一个朋友,然后两个人看了好一会,才发现,问题是在于,全局变量i和局部变量i 的区别!!!

起初我的I设置成为了全局变量,所以当他结果一次循环之后,就不变了,变成了4,之后再也没有变化,
所以之后的代码怎么都运行不了,实际上需要i变成一个局部变量,所以才能起到循环的作用。

#include
#include
#include
#include
#include
#include
using namespace std;//int J[20][20];int Stepx[4]={ 0,-1,0,1};int Stepy[4]={ -1,0,1,0};int m,n;int starx,stary;int endx,endy;//创建一个结构体数组来存当前的位置struct M{ int numx,numy;}Pla[4400];void DFS(int x,int y,int num){ //这个dfs就是创建一个步数,然后对于这个步数,进行输出 Pla[num].numx=x; Pla[num].numy=y; //printf("???"); // printf("(%d,%d)->",Pla[1].numx,Pla[1].numy); if(x==endx&&y==endy){ //那就输出 for(int i=1;i
",Pla[i].numx,Pla[i].numy); printf("(%d,%d)\n",Pla[num].numx,Pla[num].numy); } else{ for(int i=0;i<4;++i){ int newx=x+Stepx[i]; int newy=y+Stepy[i]; //来一个判断条件,不越界,并且这个地方可以去 if((newx>=1)&&(newx<=m)&&(newy>=1)&&(newy<=n)&&(J[newx][newy]==1)){ //没过界,并且可以走,这里有个很重要的点 J[newx][newy]=0;//以免回头走 // printf("%d %d\n",newx,newy); DFS(newx,newy,num+1); J[newx][newy]=1;//恢复原样 } } }}int main(){ scanf("%d%d",&m,&n); //初始化 memset(J,0,sizeof(J)); memset(J,0,sizeof(J)); memset(Pla,0,sizeof(Pla)); for(int i=1;i<=m;++i) for(int j=1;j<=n;++j) scanf("%d",&J[i][j]); //输入起始点和终点 scanf("%d%d",&starx,&stary); scanf("%d%d",&endx,&endy); J[starx][stary]=0; DFS(starx,stary,1);}

转载地址:http://gufen.baihongyu.com/

你可能感兴趣的文章
Memcached 集群部署
查看>>
Memcached与Spring AOP构建数分布式据库前端缓存框架
查看>>
数据挖掘常用算法整理
查看>>
JNDI学习总结(一)——JNDI数据源的配置
查看>>
JNDI学习总结(二)——Tomcat下使用C3P0配置JNDI数据源
查看>>
JNDI学习总结(三)——Tomcat下使用Druid配置JNDI数据源
查看>>
JavaWeb学习总结(四十九)——简单模拟Sping MVC
查看>>
Struts1和Struts2的区别和对比(完整版)
查看>>
在Eclipse中初用lucene
查看>>
lucene在eclipse下运行
查看>>
eclipse 安装struts2 插件
查看>>
Liferay配置文件Tag标签参考
查看>>
JavaLiferay研究之十六:FCKeditor如何插入服务器上的资源?
查看>>
Liferay研究之十二:对Liferay框架的几点分析总结 收藏
查看>>
Eclipse快捷键大全(转载)
查看>>
Google爬虫如何抓取JavaScript的?
查看>>
SAP HANA SQL/MDX及TCP/IP端口介绍
查看>>
SAP HANA使用XS和HTTP创建proxy
查看>>
SAP HANA SLT在表中隐藏字段并传入HANA的方法
查看>>
SAP HANA关于触发器的深入理解
查看>>