ACM 深搜 SeedingTempter of the Bone
暑期集训开始啦~因为是第一天,所以还没有正式开始讲座什么的,下午是一个小训练。
题目主要是深搜广搜,难度不大,但是我为了以后日更垫个底,先更两题深搜压压惊~
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相关推荐
- acm公选课第三节4.7直播4.9补 递归 深搜啥的
今天主要讲递归 深搜 dp做准备, 能看到算法复杂度 要真正理解:(从上往下扎,到边界结束,再一层一层往上返) 下图:第一行时边界,第二行时递归模式 爆了: RE:(我也出过原来是这样) 递推就行 老 ...
- ACM 海贼王之伟大航路(深搜剪枝)
"我是要成为海贼王的男人!" 路飞他们伟大航路行程的起点是罗格镇,终点是拉夫德鲁(那里藏匿着"唯一的大秘宝"--ONE PIECE).而航程中间,则是各式各样的 ...
- hdu 1312深搜入门题
2019独角兽企业重金招聘Python工程师标准>>> Red and Black Problem Description There is a rectangular room, ...
- DFS-深度优先搜索(深搜)
深度优先搜索(Depth First Search)是搜索的手段之一.它是从某个状态开始,不断的转移状态直到无法转移,然后退回到前一步的状态,继续转移到其他的状态,如此不断的重复,直至找到最终的解. ...
- 深搜广搜专题【DFS】【BFS】
深搜广搜专题 又是一年专题时,这次的专题是BFS和DFS,我们刚加入acm时的噩梦,然而现在已经写起来很舒服了(OS:那你还A不出题?) BFS和DFS都是通过对所有的点进行遍历来得到结果的,是一种比 ...
- 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任意 ...
- Go 分布式学习利器(15) -- Go 实现 深搜和广搜
强化语法,回顾算法. 通过Go语言实现 深度优先搜索 和 广度优先搜索,来查找社交网络中的三度好友关系(三度指的是一个节点到 其相邻节点 到 其相邻节点的节点 ,图递增三层好友关系). 涉及到的Go语 ...
- 水管工游戏 (深搜)
水管工游戏 本题依然是采用搜索,深搜,广搜都可以,本代码采用深搜,此题在搜索时需要增加一些判断条件以及下一步要搜索的位置即可. 代码如下: #include<stdio.h> int a[ ...
- Poj(2488),按照字典序深搜
题目链接:http://poj.org/problem?id=2488 思路:按照一定的字典序深搜,当时我的想法是把所有的可行的路径都找出来,然后字典序排序. 后来,凡哥说可以在搜索路径的时候就按照字 ...
最新文章
- SQL查询语句总是先执行SELECT?你们都错了。。。
- 贝叶斯优化-matlab
- 关于移动端的一些tip
- jooq_jOOQ星期二:拉斐尔·温特豪德(Rafael Winterhalter)正在与字节好友合作字节码...
- 数字图像处理--空间滤波器
- 笔记本windows7设置WIFI教程(超详细)
- SpringBoot入坑-请求参数传递
- HDU 1317 XYZZY
- Windows 8实例教程系列 - 数据绑定高级实例
- dda算法_计算机图形学中的DDA(数字差分分析仪)算法
- Python 安卓群控随机修改机型
- 得物技术网络优化-CDN资源请求优化实践
- 网页提示“证书错误:导航已阻止”,无法跳转解决办法
- 浏览器点击链接总是跳转到百度首页界面
- SIM卡检测信号故障分析
- Ceph之RBD恢复的几种方式与原理
- 身份证校验和获取身份证信息的方法
- php热加载原理,什么是热更新?
- 精品课 - Python 基础
- 29 WebGL绘制立方体并为立方体每个表面指定颜色