红与黑题解(深搜入门ing)
题目:OpenJudge - 1818:红与黑
代码:深搜入门题,注意w是列数,h是行数即可~
#include<iostream>
#include<cstring>
using namespace std;
char cizhuan[30][30];
int w,h;
int x,y;
int dx[4]={-1,0,1,0},dy[4]={0,1,0,-1};//记录方向
int dfs(int x,int y){int ans=1;cizhuan[x][y]='!';//标记已访问过的for(int i=0;i<4;i++){int a=x+dx[i],b=y+dy[i];if(a&&a<=h&&b&&b<=w&&cizhuan[a][b]=='.')ans+=dfs(a,b);}return ans;
}
int main()
{while(cin>>w>>h){memset(cizhuan,'#',sizeof(cizhuan));if(!w&&!h) break;for(int i=1;i<=h;i++)//注意h是行数!for(int j=1;j<=w;j++){cin>>cizhuan[i][j];if(cizhuan[i][j]=='@'){x=i;y=j;}}cout<<dfs(x,y)<<endl;}return 0;
}
ps:最近摸鱼好严重。。主要是动规卡住了TwT,以后要更努力才行!
有用的话就点赞评论收藏嗷!!
红与黑题解(深搜入门ing)相关推荐
- hdu 1312深搜入门题
2019独角兽企业重金招聘Python工程师标准>>> Red and Black Problem Description There is a rectangular room, ...
- DSF深搜入门全排列笔记nyoj366
DFS深搜之全排列(初学) 题目描述 思路解析与dfs模板伪代码 题目描述 以nyoj2.0 366题为例,记录入门dfs的代码,并理清思路,方便以后复习巩固,初学dfs如果有问题还请指出~ 链接: ...
- 【codevs1116】四色问题,深搜入门题目
(说实话我已开始是不想写这道题目的,因为太水了,但是发现最近实在是打不出什么好一些的题目,所以就凑活一下好了) 1116 四色问题 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄 ...
- 蓝桥杯2017省赛C/C++A组题1迷宫题解(深搜dfs)
题目:迷宫 X星球的一处迷宫游乐场建在某个小山坡上. 它是由10x10相互连通的小房间组成的. 房间的地板上写着一个很大的字母. 我们假设玩家是面朝上坡的方向站立,则: L表示走到左边的房间, R表示 ...
- acm公选课第三节4.7直播4.9补 递归 深搜啥的
今天主要讲递归 深搜 dp做准备, 能看到算法复杂度 要真正理解:(从上往下扎,到边界结束,再一层一层往上返) 下图:第一行时边界,第二行时递归模式 爆了: RE:(我也出过原来是这样) 递推就行 老 ...
- acwing-167. 木棒(深搜dfs+减枝)
乔治拿来一组等长的木棒,将它们随机地砍断,使得每一节木棍的长度都不超过 50 个长度单位. 然后他又想把这些木棍恢复到为裁截前的状态,但忘记了初始时有多少木棒以及木棒的初始长度. 请你设计一个程序,帮 ...
- 题解HDU6148 Valley Numer(数位DP+深搜DFS)
题解HDU6148 Valley Numer[数位DP+深搜DFS] 题目 解析 参考源码 题目 Description: 众所周知,度度熊非常喜欢数字. 它最近发明了一种新的数字:Valley Nu ...
- 深搜DFS\广搜BFS 图初步入门
首先,不管是BFS还是DFS,由于时间和空间的局限性,它们只能解决数据量比较小的问题. 深搜,顾名思义,它从某个状态开始,不断的转移状态,直到无法转移,然后退回到上一步的状态,继续转移到其他状态,不断 ...
- 一本通例题-生日蛋糕——题解超强深搜剪枝,从无限到有限
题目传送 显然是道深搜题.由于蛋糕上表面在最底层的半径确认后就确认了,所以搜索时的面积着重看侧面积. 找维度/搜索面临状态/对象:当前体积v,当前外表面面积s,各层的半径r[],各层的高度h[]. 可 ...
- 埃及分数 (迭代深搜 TAT....入门)
描述 在古埃及,人们使用单位分数的和(形如1/a的, a是自然数)表示一切有理数.如:2/3=1/2+1/6,但不允许2/3=1/3+1/3,因为加数中有相同的.对于一个分数a/b,表示方法有很多种, ...
最新文章
- Go进阶:反射3定律
- css选择器权重排序_CSS选择器的权重与优先规则
- GridView自定义分页样式(上一页,下一页,到第几页)(新手教程)
- ++实现 kill_如何设计并实现一个秒杀系统?(含完整代码)
- 在阿里云主机上基于CentOS用vsftpd搭建FTP服务器
- myeclipse配置java8_MyEclipse 2017配置Tomcat8
- 基于神经网络的文本分类(基于Pytorch实现)
- php中取整的函数,php中四舍五入取整函数详细介绍
- Go语言实现大数开方程序
- java set的作用,Java的自学之路-构造方法 的作用以及与set方法的区别
- python 实例化过程_python实例化对象的具体方法
- Android 程序调试
- Maven学习笔记1
- 如何比较二进制文件(bin文件)?
- SCI、EI、ISTP收录检索技巧及核心期刊投稿导引
- 计算机应用画画教程,小学生信息技术之电脑绘画教学
- 5G移动通信发展历程
- 电脑“开始-运行”的常用命令及用法!很有用!
- scp lost connection
- 《Python深度学习》第一章笔记
热门文章
- php faker,faker php伪造填充数据
- “热散由心静,凉生为室空” - linux温控的那些事儿
- js打印去除页眉页脚
- Android 修改保持WLAN热点开启的时间与最大连接数
- PowerVR GPU - The Architecture Concepts
- 设计一个对象池(Anno.XObjectPool)
- 书名带冒号_冒号_冒号的用法和作用_冒号怎么打_标点符号网
- 2008服务器系统备份工具,服务器2008系统备份
- 用java编写中国象棋_如何用Java实现网络中国象棋室(一)
- java 刻度尺_用java代码如何实现画坐标刻度尺图