C.十面埋伏(DFS&连通块)

题目传送门

题意:将”#“图案用星号围一圈并输出图。

思路:显然从外围DFS,判断一下四周有无#即可。

AC代码:

#include<bits/stdc++.h>
using namespace std;
int n,m;
char mp[505][505];
int vis[505][505],d[4][2]={0,1,0,-1,1,0,-1,0};
void dfs(int x,int y){//printf("x=%d,y=%d\n",x,y);if(x<1||x>n||y<1||y>m) return;if(vis[x][y]||mp[x][y]=='#') return;vis[x][y]=1;for(int i=0;i<4;i++){int nx=x+d[i][0],ny=y+d[i][1];if(mp[nx][ny]=='#') mp[x][y]='*';}dfs(x+1,y),dfs(x-1,y),dfs(x,y+1),dfs(x,y-1);
}
int main(){scanf("%d%d",&n,&m);for(int i=1;i<=n;i++) scanf("%s",mp[i]+1);dfs(1,1);for(int i=1;i<=n;i++)printf("%s\n",mp[i]+1);return 0;
}

C.十面埋伏(DFS连通块)相关推荐

  1. HDU - 1547 Bubble Shooter(dfs+连通块+模拟)

    题目链接:点击查看 题目大意:模拟泡泡枪游戏,问当击破指定位置的泡泡时,能有多少个泡泡同时爆炸? 题目分析:一个中规中矩的连通块问题,只不过在向四周扩散的时候需要注意的是,奇数行和偶数行的方向有点不一 ...

  2. 中石油训练赛 - Bee Problem(dfs+连通块)

    题目描述 You are a busy little bee, and you have a problem. After collecting nectar all day long, you ar ...

  3. Multiplayer Moo[ [ 并查集+dfs连通块 ] / [ dfs ] ]

    题目链接 题目描述: The cows have come up with a creative new game, surprisingly giving it the least creative ...

  4. 海拉鲁城堡问题(dfs连通块)

    思路: 1. 一开始想着把墙当成图的一部分记下来,但发现比较麻烦而且不会区分没有墙和房间的地方:可以把墙当作判定条件之一在方位循环里处理. 2.这是典型的连通块问题:在主函数里循环找另外的节点,再对该 ...

  5. *【ZOJ - 3781】Paint the Grid Reloaded(dfs求连通块缩点,bfs求最短路,建图技巧)

    题干: Leo has a grid with N rows and M columns. All cells are painted with either black or white initi ...

  6. [C] [编程题]连通块(DFS解决)

    时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 256M,其他语言512M 来源:牛客网 金山办公2020校招服务端开发工程师笔试题(一) 题目描述 给一个01矩阵,1代表是陆地,0代表 ...

  7. UVa572 Oil Deposits DFS求连通块

    技巧:遍历8个方向 for(int dr = -1; dr <= 1; dr++)for(int dc = -1; dc <= 1; dc++)if(dr != 0 || dc != 0) ...

  8. DFS求连通块数目(深搜)

    DFS求连通块数目 这里认为,连通块是包括斜对角线的路径连通的块. 测试数据 5 5 ****@ *@@*@ *@**@ @@@*@ @@**@ 计算通过@相连的连通块的个数 测试输出: 2 样例代码 ...

  9. [uva]AncientMessages象形文字识别 (dfs求连通块)

    非常有趣的一道题目,大意是给你六种符号的16进制文本,让你转化成二进制并识别出来 代码实现上参考了//http://blog.csdn.net/u012139398/article/details/3 ...

最新文章

  1. opencv拟合高维曲线
  2. 关于angularjs dom渲染结束再执行的问题
  3. Django Book 2.0 笔记——会话、用户和注册
  4. ELM327 scanners work on iPhone, iPad and iPod
  5. PAT 1004 成绩排名 (20)(代码)
  6. Mathematica .nb程序运行不下去的原因
  7. 截取数组中的第i个元素,并返回截取后的结果
  8. 防止U盘中病毒的小技巧
  9. C++实用编程——随机生成迷宫算法
  10. Java第四次作业,面向对象高级特性(继承和多态)
  11. 牛客JS编程大题(一)
  12. [整理]WebUploader + SpringMVC 实现多文件断点续传之二 多文件断点续传
  13. 【总结】仰望星空,脚踏实地 2017.09-2018.02
  14. 团队管理的四大挑战——留人篇
  15. trc20地址监听php,Tron/USDT-TRC20 PHP开发包
  16. 回溯法解决n皇后问题
  17. m4s格式转换mp3_下载的mp3音频怎么转换wav格式
  18. 树莓派上控制蜂鸣器模拟摩尔斯电码(电报效果)
  19. IOS10-IOS13屏蔽系统更新描述文件|去除‘设置’①小红点教程
  20. 用好了下一代文件系统 Btrfs 这些新特性,从此数据安全乐无忧!

热门文章

  1. 04、JavaWeb-JSP+Session+Cookie
  2. 软件测试面试思路技巧和方法分享,学到就是赚到
  3. iPhone照片上传到iCloud需要多久,一直卡住怎么办?
  4. predis 连接redis哨兵模式
  5. 从Q2财报看后疫情时代陌陌的正确打开方式
  6. Display Tag Lib
  7. Mac命令行方式格式化U盘
  8. ZLG开源GUI引擎AWTK发布1.1版本
  9. 【吐血推荐】B站最强最全的学习资源(人工智能,深度学习,机器学习,Python,C/C++)
  10. CSS定位居中常用方法