博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
poj1562 Oil Deposits(DFS)
阅读量:5299 次
发布时间:2019-06-14

本文共 876 字,大约阅读时间需要 2 分钟。

题目链接

题意

输入一个m行n列的棋盘,棋盘上每个位置为'*'或者'@',求'@'的连通块有几个(连通为8连通,即上下左右,两条对角线)。

思路

floodfill问题,用dfs解决。

代码

1 #include 
2 #include
3 #include
4 using namespace std; 5 6 const int N = 110; 7 char grid[N][N]; 8 int visit[N][N]; 9 int dir[8][2] = { //八个邻接点10 {
1, 0}, {-1, 0}, {
0, 1}, {
0, -1},11 {-1, -1}, {-1, 1}, {
1, 1}, {
1, -1}12 };13 int m, n;14 15 void dfs(int r, int c)16 {17 for(int i=0; i<8; i++)18 {19 int nr = r+dir[i][0];20 int nc = c+dir[i][1];21 22 if(nr>=0 && nr
=0 && nc
>m>>n && m)34 {35 for(int i=0; i
>grid[i];37 38 memset(visit, 0, sizeof(visit));39 int cnt = 0;40 for(int i=0; i

转载于:https://www.cnblogs.com/sench/p/7828545.html

你可能感兴趣的文章
操作系统实验一:并发程序设计
查看>>
互联网协议入门(一)
查看>>
16_Python变量作用域_Python编程之路
查看>>
js index of()用法
查看>>
XSS原理及防范
查看>>
WPF中Image显示本地图片
查看>>
SVN版本管理
查看>>
哈希表等概率情况下查找成功和查找不成功的平均查找长度的计算
查看>>
Windows Phone 7你不知道的8件事
查看>>
脚本删除文件下的文件
查看>>
实用拜占庭容错算法PBFT
查看>>
java b组 小计算器,简单计算器..
查看>>
java的二叉树树一层层输出,Java构造二叉树、树形结构先序遍历、中序遍历、后序遍历...
查看>>
php libevent 定时器,PHP 使用pcntl和libevent实现Timer功能
查看>>
php仿阿里巴巴,php实现的仿阿里巴巴实现同类产品翻页
查看>>
matlab fis编辑器在哪,基本FIS编辑器
查看>>
linux的串口子系统,TTY子系统
查看>>
修改linux远程22端口,linux修改ssh远程端口22
查看>>
Linux系统的创始者,组图:Linux之父的办公室首度曝光
查看>>
关于linux的环境变量设置,linux环境变量设置
查看>>