题目连接:http://codevs.cn/problem/1026/

思路:这道题网站吧它归为了广搜  可我广搜学的真的不怎么样 然后我就用深搜写的 感觉深搜也是很简单的

我们从起点开始用一个顺序然后一直找一直找直到碰到障碍或者碰到小镇的墙壁就可以换方向了  如果无路可走那么就返回

最终要的一点是 千万别忘记查重 如果不查重一定超时用一个三维数组f来表示这个点后面能不能行

下面看代码:代码中有许多解释

#include<stdio.h>
#include<cstring>
char map[60][60];  //记录地图的
char order[1005]; //记录方向的
int m, n, t;
bool f[60][60][1005];  //查重的
char diction[8];void dfs(int a,int b,int cur)
{if(cur == t){map[a][b] = '*';return ;}if(f[a][b][cur] != 0)return ;f[a][b][cur] = 1;     //这个地方千万别忘写了查重用的   没有这个一定超时if(order[cur] == 'N'){while((a - 1) >= 0&&map[a - 1][b] != 'X'){a--;dfs(a,b,cur + 1);}}else if(order[cur] == 'S'){while((a + 1) < n&&(map[a + 1][b] != 'X')){a++;dfs(a,b,cur + 1);}}else if(order[cur] == 'W'){while((b - 1) >= 0&&map[a][b - 1] != 'X'){b--;dfs(a,b,cur + 1);}}else if(order[cur] == 'E'){while((b + 1) < m&&map[a][b + 1] != 'X'){b++;dfs(a,b,cur + 1);}}
}
int main(){int i,j;scanf("%d%d",&n,&m);for(i = 0;i < n;i++){scanf("%s",map[i]);}scanf("%d",&t);for(j = 0;j < t;j++){scanf("%s",diction);order[j] = diction[0];}for(i = 0;i < n;i++){for(j = 0;j < m;j++){if(map[i][j] == '*')break;}if(j != m)break;}map[i][j] = '.';             //这个地方也是非常重要 起点一定要化成.不然也会wrong answermemset(f, 0, sizeof(f));dfs(i,j,0);for(i = 0;i < n;i++){for(j = 0;j < m;j++){printf("%c",map[i][j]);}printf("\n");}return 0;
}

转载于:https://www.cnblogs.com/zhanyage110/p/4394906.html

codevs1026相关推荐

  1. 【codevs1026】逃跑的拉尔夫,广搜的胜利

    1026 逃跑的拉尔夫 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 查看运行结果 题目描述 Description 年轻的拉尔夫开玩笑地从一个小镇上偷走了一 ...

  2. codevs1026 逃跑的拉尔夫(搜索)

    题目描述 Description 年轻的拉尔夫开玩笑地从一个小镇上偷走了一辆车,但他没想到的是那辆车属于警察局,并且车上装有用于发射车子移动路线的装置. 那个装置太旧了,以至于只能发射关于那辆车的移动 ...

  3. 【codevs1026】逃跑的拉尔夫

    problem solution codes #include<cstdio> #include<queue> #include<set>//set判重防MLE u ...

  4. 搜索复习-基础水题(一共12道)

    由于是跟着黄学长刷题,此篇博文里所有JudgeOnline都是http://218.5.5.242:9018/JudgeOnline/ tyvj1080 N皇后 描述 检查一个如下的6 x 6的跳棋棋 ...

  5. 【概念理论】不存在的NOIP2016

    时间:2017.6.17 0x01搜索 一.定义 1.从数据集合中找出目标元素进行处理. 2.当我们难以通过分析解决给定问题,或者找不到一个能有效解决问题的算法时,就不得不依靠反复的试错来寻求问题的答 ...

最新文章

  1. jquery同步请求
  2. 利用Hog特征和SVM分类器进行行人检测
  3. [kubernetes] 解决k8s.gcr.io Image 导入导出 等问题
  4. java容器doc_关于Java容器类学习心得体会.doc
  5. matlab 中最小二乘拟合,matlab 最小二乘拟合
  6. depthmap资料总结
  7. 线性回归实现人脸识别——ORL数据集
  8. C:\fakepath 问题
  9. dcp9030cdn定影_兄弟DCP-9030CDN驱动
  10. 数据结构与算法系列 目录(摘抄自“skywang12345”)
  11. 凸优化理论(一)数学优化问题的分类
  12. python cnn 回归模型_【深度学习系列】CNN模型的可视化
  13. 安卓客户端开发!如何试出一个Android开发者真正的水平?分享PDF高清版
  14. 迷你世界箱子里物品无限取
  15. 如何写好文献综述(整理)
  16. 论文网站及使用方法(ResearchGate、Sci-Hub等)
  17. jQuery 操作属性
  18. [NOIP 2015TG D2T3] 运输计划
  19. Android Study Material Design 十 再探沉浸式
  20. 使用Hadoop分析大数据

热门文章

  1. ChatGPT+MidJourney 3分钟生成你的动画故事
  2. Laya:场景管理器。
  3. 4218: 七龙珠II——简单查找
  4. 营销狂人杜国楹的两大顶级思维
  5. 下载网上的多行json并将其转换为字典的解决方案
  6. 在腾讯云买的域名解析阿里云的服务器的ip地址
  7. 51单片机做一个计时器
  8. linux版本Typora安装
  9. 根据填入日期自动算年龄
  10. 计算机考试准考证打印时间