蒜厂有一间长方形的房子,地上铺了红色、黑色两种颜色的正方形瓷砖。你站在其中一块黑色的瓷砖上,只能向相邻的黑色瓷砖移动。

请写一个程序,计算你总共能够到达多少块黑色的瓷砖。

输入格式
第一行是两个整数 WW 和 HH,分别表示 xx 方向和 yy 方向瓷砖的数量。WW 和 HH 都不超过 2020。

在接下来的 HH 行中,每行包括 WW 个字符。每个字符表示一块瓷砖的颜色,规则如下

1)’.’:黑色的瓷砖;
2)’#’:白色的瓷砖;
3)’@’:黑色的瓷砖,并且你站在这块瓷砖上。该字符在每个数据集合中唯一出现一次。

输出格式
输出一行,显示你从初始位置出发能到达的瓷砖数(记数时包括初始位置的瓷砖)。

输出时每行末尾的多余空格,不影响答案正确性

样例输入复制
6 9
…#.
…#





#@…#
.#…#.
样例输出复制
45

之前该continue的地方写的return,就一直不对,for循环里应该不能出现return,否则就结束了

#include <bits/stdc++.h>
#define pb push_back
#define mem(a,b) memset(a,b,sizeof a)
using namespace std;
typedef long long ll;
const int INF=0x3f3f3f3f;
int mmap[25][25],w,h,num;
int walk[4][2]={{0,1},{1,0},{0,-1},{-1,0}};
void dfs(int x,int y)
{for(int i=0;i<4;i++){int a,b;a=x+walk[i][0];b=y+walk[i][1];if(mmap[a][b]==-1) continue ;else if(a<0||a>=h||b<0||b>=w) continue ;num++;mmap[a][b]=-1;dfs(a,b);}return ;
}
int main()
{//  freopen("D:\\LYJ.txt","r",stdin);int xx,yy;cin>>w>>h;char c;for(int i=0;i<h;i++){for(int j=0;j<w;j++){cin>>c;if(c=='.') mmap[i][j]=0;else if(c=='#') mmap[i][j]=-1;else if(c=='@'){mmap[i][j]=-1;xx=i;yy=j;}}}num=1;dfs(xx,yy);cout<<num;return 0;
}

计蒜客 红与黑 dfs相关推荐

  1. 计蒜客-踏青(DFS)

    蒜头君和他的朋友周末相约去召唤师峡谷踏青.他们发现召唤师峡谷的地图是由一块一块格子组成的,有的格子上是草丛,有的是空地.草丛通过上下左右 444 个方向扩展其他草丛形成一片草地,任何一片草地中的格子都 ...

  2. [计蒜客][dfs]中国象棋

    题目来源 计蒜客程序设计竞赛基础课(蓝桥杯省赛) 算法标签 深度优先搜索 题目描述 样例读入 .#....#S# ..#.#.#.. ..##.#..# ......##. ...T..... ... ...

  3. 无脑博士的试管们java_计蒜客 无脑博士和他的试管们

    标签: 无脑博士有三个容量分别是A,B,C升的试管,A,B,C分别是三个从1到20的整数,最初,A和B试管都是空的,而C试管是装满硫酸铜溶液的.有时,无脑博士把硫酸铜溶液从一个试管倒到另一个试管中,直 ...

  4. C - Digital Path 计蒜客 - 42397 05-29

    C - Digital Path 计蒜客 - 42397 题意: 题意就是给出一个n ∗ m的数字矩阵每个矩阵元素之间只能上下左右走,而且下一个位置必须比当前位置的数字大1,入口和出口必须数边缘元素, ...

  5. DD 摆磁铁(计蒜客信息学8月普及组模拟赛)

    DD 摆磁铁 这道题来自 计蒜客信息学8月普及组模拟赛 普及组!! 把我一个TG选手看懵了 看来我要回去打普及了 题目大意 给出一个n个节点的树,要把树上给定的2*m个节点两两配对,两个节点配对的产生 ...

  6. 计蒜客题解——T1769:最大岛屿

    题目相关 题目链接 计蒜客,https://nanti.jisuanke.com/t/T1405. 我的OJ,http://47.110.135.197/problem.php?id=5254. 题目 ...

  7. 计蒜客题解——T1414:抠图

    题目相关 题目链接 计蒜客,https://nanti.jisuanke.com/t/T1414. 我的 OJ,http://47.110.135.197/problem.php?id=4768. 题 ...

  8. 坑!计蒜客——乳草的侵占

    计蒜客--乳草的侵占(BFS) BFS一直写不会,可能是多加了个队列,写起来不是太容易.不过最近还是稍微入门了BFS,跟DFS差别不太大,还是由三个部分组成--出口.标记.枚举. DFS的主要的思想就 ...

  9. 计蒜客超级书架2题解

    题目链接: https://nanti.jisuanke.com/t/T1736 首先这道题是一道典型的DFS题.我们需要用DFS枚举最小距离,就行了. 首先需要头文件和定义: #include< ...

最新文章

  1. 2021年大数据ZooKeeper(二):ZooKeeper集群搭建
  2. logstash数据采集
  3. Idea进行远程Debug
  4. hadoop常用的端口配置
  5. 再说变体结构 - 回复 彬 的问题
  6. 发的楷体怎么写_公布婚期朋友圈怎么发 发结婚通知朋友圈注意哪些
  7. SharePoint 设置Library中文档的默认打开方式
  8. Android studio教程:[6]创建多个Activity
  9. linux命令中文手册,Linux命令在线中文手册
  10. 在html中调用js函数
  11. 一、ShenYu快速开始
  12. 强化学习RL——多臂老虎机问题
  13. N个球放M个盒子问题
  14. Word2vec And Doc2vec - 文本向量化
  15. VUE3 使用 Ant Design Vue的icon图标
  16. 2654 最小距离最大
  17. bzoj2115 线性基 异或
  18. 【项目整理】一个好看的导航栏
  19. An Auto-tuning Framework for Autonomous Vehicles
  20. 蓝桥杯单片机12届第二场

热门文章

  1. 【基础汇总】——python数据分析必备三大工具
  2. 基于web的网上出差审批与费用报销系统
  3. MIT线性代数——3.4:线性独立、基、维度
  4. 如何从一个JSP页面跳转到其他页面
  5. chatgpt赋能python:Python怎么乘根号三?
  6. 普及一下信用卡单的商户编号知识吧
  7. 大唐移动通信设备有限公司
  8. 一种Flutter上传图片到阿里OSS的方式
  9. LSTM模型预测新冠
  10. STM32CubeMX生成工程顺序