#include <iostream>
#include <cstring>
using namespace std;int R,C; //行列数
int rooms[60][60];
int color[60][60]; //方块是否被标记过
int maxRoomArea=0,roomNum=0;
int roomArea;void DFS(int i,int j)
{if(color[i][j]) //该点已经被访问过return;roomArea++;color[i][j]=roomNum;  //标记该点为已访问过if((rooms[i][j] & 1)==0)DFS(i,j-1);     //西面没有墙,向west走if((rooms[i][j] & 2)==0)DFS(i-1,j);     //北面没有墙,向north走if((rooms[i][j] & 4)==0)DFS(i,j+1);     //东面没有墙,向east走if((rooms[i][j] & 8)==0)DFS(i+1,j);     //南面没有墙,向south走
}int main()
{cin>>R>>C;for(int i=1; i<=R; i++)for(int j=1; j<=C; j++)cin>>rooms[i][j];memset(color,0,sizeof(color));for(int i=1; i<=R; i++)for(int j=1; j<=C; j++){if(color[i][j]==0){roomArea=0;roomNum++;DFS(i,j);maxRoomArea=max(roomArea,maxRoomArea);}}cout<<roomNum<<endl;cout<<maxRoomArea<<endl;}

转载于:https://www.cnblogs.com/zhanyeye/p/9746092.html

poj 1164城堡问题(DFS)相关推荐

  1. poj 1164 The Castle

    题目链接: http://poj.org/problem?id=1164 题目描述: 有一个n*m的castle,有一个个小房间组成,每个房间由一个零和四面的墙组成,每个房间都有一个价值, 价值的计算 ...

  2. POJ 1190 生日蛋糕 【DFS + 极限剪枝】

    题目传送门:http://poj.org/problem?id=1190 参考剪枝:https://blog.csdn.net/nvfumayx/article/details/6653111 生日蛋 ...

  3. poj 2034 Anti-prime Sequences(dfs)

    http://poj.org/problem?id=2034 大致题意:给出区间[n,m],对这个区间的数进行排列使得相邻的2个.3个......d个数之和都不是素数.输出字典序最小的. 思路:裸的d ...

  4. poj 3321 Apple Tree(dfs序+树状数组求和模型)

    题目链接:http://poj.org/problem?id=3321 解题思路: 先dfs求出序列,将子树转化到dfs序列的区间内,接下来就是简单的树状数组求和模型了.水题. #include< ...

  5. POJ 1753 Flip Game DFS枚举

    看题传送门:http://poj.org/problem?id=1753 DFS枚举的应用. 基本上是参考大神的.... 学习学习.. #include<cstdio> #include& ...

  6. POJ 2386 Lake Counting DFS水水

    http://poj.org/problem?id=2386 题目大意: 有一个大小为N*M的园子,雨后积起了水.八连通的积水被认为是连接在一起的.请求出院子里共有多少水洼? 思路: 水题~直接DFS ...

  7. POJ 2386 Lake Counting [DFS]

    POJ 2386 Lake Counting 简单的DFS,用了stack代替递归,输入有问题,搞了蛮久,算法是没问题.所以以后一定要记得加上检查输入的那一步 然后对于点的定义以后就这么办吧 此外还有 ...

  8. POJ 2815:城堡问题

    描述 1 2 3 4 5 6 7 #############################1 # | # | # | | ######---#####---#---#####---#2 # # | ...

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

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

最新文章

  1. 对比Memcached和Redis,谁才是适合你的缓存?
  2. php xdebug安装配置与调试php技巧
  3. mysql删除表命令语句_MySQL增删改查语句命令(一)
  4. 5G在工业互联网应用的机遇与挑战
  5. Hive QL【Queries (select)】基本统计及分组函数:group by
  6. Visual Studio 2019 v16.9 Preview 3 发布
  7. 读取pcap获得端口_渗透技巧——获得Exchange GlobalAddressList的方法
  8. 20世纪50年代开始,数字技术出现,数字计算机开始代替模拟计算机,我们从电气时代逐渐走到了信息时代,电脑重塑了社会的架构与价值。...
  9. windows10开启Webdav文件服务
  10. python车辆型号识别_汽车型号和款式的识别 如何通过车架号来识别车的型号款式?查汽车型号...
  11. Zabbix结合Mojo-Webqq实现告警
  12. C++ Interesting卡常数
  13. python wifi暴力破解(tk)
  14. 计算机硬盘容量1t,硬盘1tb等于多少gb 硬盘容量计算公式
  15. 达梦8基础对象操作管理
  16. 英语四级口语考试计算机考吗,四级考试是不是要考口语(英语四级口语考试有必要报名吗?)...
  17. 热身赛-巴西5-1坦桑尼亚 卡卡传射罗比两破门
  18. linux 不自动进入睡眠,linux 7 为何自动睡眠
  19. 杭州php程序员工资一般多少,杭州Android基础一期大黑马强哥,完美收官~~欧巴,卡几嘛...
  20. android多个module打包aar,Android 多 Module 合并打包 AAR

热门文章

  1. javascript简单性能问题及学习笔记
  2. mysql 添加添加事务处理
  3. RDLC之自定義數據集二
  4. Java 常用排序算法实现--快速排序、插入排序、选择、冒泡
  5. InstallShield Build错误:Internal build error 6041
  6. 《Unity着色器和屏幕特效开发秘笈》—— 1.7 创建渐变纹理来控制漫反射着色...
  7. 贪心 赛码 1001 Movie
  8. 条款23: 必须返回一个对象时不要试图返回一个引用
  9. 流氓软件清除,周期性出现流氓软件
  10. 商业智能BI软件的价值有哪些