暑期集训开始啦~因为是第一天,所以还没有正式开始讲座什么的,下午是一个小训练。

题目主要是深搜广搜,难度不大,但是我为了以后日更垫个底,先更两题深搜压压惊~

ZOJ 2100 Seeding

题目大意:S是不能走得,剩下的.要一笔画完,问是否可以实现。

我的思路:一本正经的深搜啊,都写在备注里啦~

#include <stdio.h>
char a[10][10];
int n,m,i,j,z[4][2]={0,1,0,-1,1,0,-1,0},re,sum;//四个方向
void dfs(int x,int y,int ss)
{if(x>=n||y>=m||x<0||y<0)return;//出界 int i,xx,yy;for(i=0;i<4;i++){xx=x+z[i][0];yy=y+z[i][1];if(a[xx][yy]!='S'){if(ss==n*m-sum-1)//走完啦~ {re=1;return;}a[xx][yy]='S';//标记 dfs(xx,yy,ss+1);a[xx][yy]='.';//复原,方便下次深搜 }}return;
}
int main()
{   while(scanf("%d%d",&n,&m)){sum=0;if(n==0&&m==0)break;for(i=0;i<n;i++){scanf("%s",a[i]);for(j=0;j<m;j++){if(a[i][j]=='S')sum++;}}a[0][0]='S';re=0;dfs(0,0,0);     if(re)printf("YES\n");else printf("NO\n");}
}

ZOJ 2110 Tempter of the Bone 

题目大意:(参照样例一)给出4*4的地图,从S走到D,5步是否恰好可以,是正好五步,所以可以绕完为了满足这个5的哦。

我的思路:还是 一本正经 的 深搜呀...不过这里剪枝了一下,更快一些,深搜的函数里也可以剪。

#include <stdio.h>
char a[10][10];
int n,m,s,i,j,z[4][2]={0,1,0,-1,1,0,-1,0},sx,sy,dx,dy,wall,re;//四个方向
void dfs(int x,int y,int ss)
{if(x>=n||y>=m||x<0||y<0)return;//出界 if(ss==s&&x==dx&&y==dy)    re=1;//走到目的地 if(re)return;int i,xx,yy;for(i=0;i<4;i++){xx=x+z[i][0];yy=y+z[i][1];if(a[xx][yy]!='X'){a[xx][yy]='X';//标记 dfs(xx,yy,ss+1);a[xx][yy]='.';//复原 }}return;
}
int main()
{   while(scanf("%d%d%d",&n,&m,&s)){wall=0;if(n==0&&m==0&&s==0)break;for(i=0;i<n;i++){scanf("%s",a[i]);for(j=0;j<m;j++){             if(a[i][j]=='S')sx=i,sy=j;if(a[i][j]=='D')dx=i,dy=j;if(a[i][j]=='X')wall++;}}if(n*m-wall<=s){printf("NO\n");continue;}a[sx][sy]='X';re=0;dfs(sx,sy,0);      if(re)printf("YES\n");else printf("NO\n");}
}

ACM 深搜 SeedingTempter of the Bone相关推荐

  1. acm公选课第三节4.7直播4.9补 递归 深搜啥的

    今天主要讲递归 深搜 dp做准备, 能看到算法复杂度 要真正理解:(从上往下扎,到边界结束,再一层一层往上返) 下图:第一行时边界,第二行时递归模式 爆了: RE:(我也出过原来是这样) 递推就行 老 ...

  2. ACM 海贼王之伟大航路(深搜剪枝)

    "我是要成为海贼王的男人!" 路飞他们伟大航路行程的起点是罗格镇,终点是拉夫德鲁(那里藏匿着"唯一的大秘宝"--ONE PIECE).而航程中间,则是各式各样的 ...

  3. hdu 1312深搜入门题

    2019独角兽企业重金招聘Python工程师标准>>> Red and Black Problem Description There is a rectangular room, ...

  4. DFS-深度优先搜索(深搜)

    深度优先搜索(Depth First Search)是搜索的手段之一.它是从某个状态开始,不断的转移状态直到无法转移,然后退回到前一步的状态,继续转移到其他的状态,如此不断的重复,直至找到最终的解. ...

  5. 深搜广搜专题【DFS】【BFS】

    深搜广搜专题 又是一年专题时,这次的专题是BFS和DFS,我们刚加入acm时的噩梦,然而现在已经写起来很舒服了(OS:那你还A不出题?) BFS和DFS都是通过对所有的点进行遍历来得到结果的,是一种比 ...

  6. hdu1667The Rotation Game 迭代深搜IDA*

    题目链接:http://acm.hdu.edu.cn/data/images/1667-1.jpg 题目是这个棋盘里面摆放着8个1,8个2和8个3,每一步你可以沿着A.B. C.D.E.F.G.H任意 ...

  7. Go 分布式学习利器(15) -- Go 实现 深搜和广搜

    强化语法,回顾算法. 通过Go语言实现 深度优先搜索 和 广度优先搜索,来查找社交网络中的三度好友关系(三度指的是一个节点到 其相邻节点 到 其相邻节点的节点 ,图递增三层好友关系). 涉及到的Go语 ...

  8. 水管工游戏 (深搜)

    水管工游戏 本题依然是采用搜索,深搜,广搜都可以,本代码采用深搜,此题在搜索时需要增加一些判断条件以及下一步要搜索的位置即可. 代码如下: #include<stdio.h> int a[ ...

  9. Poj(2488),按照字典序深搜

    题目链接:http://poj.org/problem?id=2488 思路:按照一定的字典序深搜,当时我的想法是把所有的可行的路径都找出来,然后字典序排序. 后来,凡哥说可以在搜索路径的时候就按照字 ...

最新文章

  1. SQL查询语句总是先执行SELECT?你们都错了。。。
  2. 贝叶斯优化-matlab
  3. 关于移动端的一些tip
  4. jooq_jOOQ星期二:拉斐尔·温特豪德(Rafael Winterhalter)正在与字节好友合作字节码...
  5. 数字图像处理--空间滤波器
  6. 笔记本windows7设置WIFI教程(超详细)
  7. SpringBoot入坑-请求参数传递
  8. HDU 1317 XYZZY
  9. Windows 8实例教程系列 - 数据绑定高级实例
  10. dda算法_计算机图形学中的DDA(数字差分分析仪)算法
  11. Python 安卓群控随机修改机型
  12. 得物技术网络优化-CDN资源请求优化实践
  13. 网页提示“证书错误:导航已阻止”,无法跳转解决办法
  14. 浏览器点击链接总是跳转到百度首页界面
  15. SIM卡检测信号故障分析
  16. Ceph之RBD恢复的几种方式与原理
  17. 身份证校验和获取身份证信息的方法
  18. php热加载原理,什么是热更新?
  19. 精品课 - Python 基础
  20. 29 WebGL绘制立方体并为立方体每个表面指定颜色

热门文章

  1. squid 中文权威指南--第5章 Squid运行
  2. 金融行业数据存储首选金万维云备份
  3. response.expires = -1是什么意思
  4. MUI-底部导航切换页面
  5. 寻找终极流量,县镇市场+线下零售+社交零售会是什么?
  6. 什么是DNS?什么是DNS服务器?DNS讲解
  7. npm Node 升级工具n换源
  8. select语句完整语法
  9. 阶乘算法(递归非递归)
  10. 答学员问: 容器部署时代有什么优势