DFS之城堡问题
2024-09-08 16:45:34
2019-06-01
17:54:51
坚持!!
题目链接:
http://bailian.openjudge.cn/practice/2815
#include <bits/stdc++.h>
using namespace std; int n = , m = ;
int roomNumber = ;
int roomSize = ; //当前房间的面积大小
int maxRoomSize = ;
int room[][];
int color[][]; void dfs(int x, int y); int main()
{ scanf("%d %d", &n, &m);
for (int i = ; i < n; i++)
{
for (int j = ; j < m; j++)
{
scanf("%d", &room[i][j]);
}
} for(int i = ; i < n; i++)
{
for (int j = ; j < m; j++)
{
if(color[i][j] == )
{
roomNumber++;
roomSize = ;
dfs(i, j);
maxRoomSize = max(maxRoomSize, roomSize); }
}
} cout << roomNumber << endl;
cout << maxRoomSize << endl;
return ;
} void dfs(int x, int y)
{
if(color[x][y] != )
{
return;
}
roomSize++;
color[x][y] = roomNumber;
if((room[x][y] & ) == )
dfs(x, y - ); //向西走
if((room[x][y] & ) == )
dfs(x - , y); //向北走
if((room[x][y] & )== )
dfs(x, y + ); //向东走
if((room[x][y] & ) == )
dfs(x + , y); //向南走
}
最新文章
- 解决浏览器Adobe Flash Player不是最新版本问题
- SpringMVC——文件上传
- 【树状数组套权值线段树】bzoj1901 Zju2112 Dynamic Rankings
- sublime text之sublimeCodeIntel 的配置
- db2+python+sqlchemy环境的搭建
- 开启MSDTC
- SqlServer基础:约束
- input在苹果浏览器下变成圆角的解决方案
- 零基Android手机嵌入式开发培训课程
- UVa 12683 Odd and Even Zeroes(数论+数字DP)
- Java Volatile transient 关键字
- Mysql笔记3数据库基本操作
- Github windows客户端简单上手教程
- c#面向对象-类(类及其构成)
- spring+myBatis 配置多数据源,切换数据源
- 《Python量化交易教程》第一部分新手入门 第1天:谁来给我讲讲Python?
- 12.17 Daily Scrum
- 【黑金原创教程】【FPGA那些事儿-驱动篇I 】实验十五:FIFO储存模块(同步)
- numpy里的randn
- 如何调换antd中Modal对话框确认按钮和取消按钮两个按钮的位置