1209: 最大面积

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 142  Solved: 58
[Submit][Status][Web Board]

Description

给定一个n*m的矩阵,其中有k个格子是1,其他全部是0。

你的任务是告诉我最大的全部由1组成的图形的最大面积为多少?

Input

输入包括多组测试数据,第一行为三个正整数n,m,k,(1<=n,m<=100,1<=k<=n*m),接下来k行,每行有两个正整数x,y(1<=x<=n,1<=y<=m)代表格子(x,y)是1。

Output

对于每组测试数据,输出最大的面积。

Sample Input

3 4 5

3 2

2 2

3 1

2 3

1 1

Sample Output

4

#include<bits/stdc++.h>
using namespace std;#define ee exp(1)
#define pi acos(-1)
#define mod 1000000007
#define inf 0x3f3f3f3f
#define ll long long
#define ull unsigned long long
#define mem(a,b) memset(a,b,sizeof(a))
int gcd(int a,int b){return b?gcd(b,a%b):a;}const int maxn=105;
int n,m,k;
int a[maxn][maxn],vis[maxn][maxn];int ans;
void dfs(int i,int j)
{//if(a[i][j]==0||vis[i][j])return ;if(a[i+1][j]==1&&!vis[i+1][j])ans++,vis[i+1][j]=1,dfs(i+1,j);if(a[i][j+1]==1&&!vis[i][j+1])ans++,vis[i][j+1]=1,dfs(i,j+1);if(a[i-1][j]==1&&!vis[i-1][j])ans++,vis[i-1][j]=1,dfs(i-1,j);if(a[i][j-1]==1&&!vis[i][j-1])ans++,vis[i][j-1]=1,dfs(i,j-1);
}
int main()
{while(~scanf("%d%d%d",&n,&m,&k)){mem(a,0);mem(vis,0);for(int i=0; i<k; i++){int x,y;scanf("%d%d",&x,&y);a[x][y]=1;}int cnt=0;ans=0;for(int i=1; i<=n; i++){for(int j=1; j<=m; j++){if(a[i][j]==1&&!vis[i][j])ans++,vis[i][j]=1,dfs(i,j);cnt=max(cnt,ans);ans=0;}}printf("%d\n",cnt);}return 0;
}

zcmu1209(dfs)相关推荐

  1. 三十二、图的创建深度优先遍历(DFS)广度优先遍历(BFS)

    一.图的基本介绍 为什么要有图 前面我们学了线性表和树 线性表局限于一个直接前驱和一个直接后继的关系 树也只能有一个直接前驱也就是父节点 当我们需要表示多对多的关系时, 这里我们就用到了图. 图的举例 ...

  2. 【 MATLAB 】离散傅里叶级数(DFS)及 IDFS 的 MATLAB 实现

    有关离散傅里叶级数(DFS)我之前也写过一些博文,例如:离散周期信号的傅里叶级数(DFS) 这里我再次给出标准公式. 分析式: 其中: 综合式: 这里我必须先声明,关于分析式和综合式前面那个系数1/N ...

  3. 部署分布式文件系统(DFS)

    部署分布式文件系统(DFS) 使用 DFS 命名空间,可以将位于不同服务器上的共享文件夹组合到一个或多个逻辑结构的命名空间.每个命名空间作为具有一系列子文件夹的单个共享文件夹显示给用户.但是,命名空间 ...

  4. Java实现算法导论中图的广度优先搜索(BFS)和深度优先搜索(DFS)

    对算法导论中图的广度优先搜索(BFS)和深度优先搜索(DFS)用Java实现其中的伪代码算法,案例也采用算法导论中的图. import java.util.ArrayList; import java ...

  5. 广度优先搜索(BFS)与深度优先搜索(DFS)

    一.广度优先搜索(BFS) 1.二叉树代码 # 实现一个二叉树 class TreeNode:def __init__(self, x):self.val = xself.left = Nonesel ...

  6. 7.9模拟赛T1图的遍历(dfs)

    图的遍历(dfs) [题目描述] 对于一个有向图G来说,我们存在一个经典的遍历算法,就是DFS (深度优先搜索遍历).将G以1号点为起点进行DFS后,我们可以 得到G的一棵DFS遍历树T.就此,我们可 ...

  7. 7.6 T1 深度优先搜索(dfs)

    深度优先搜索(dfs) [题目描述] sol:50pts随便写写,就是大众分了,直接n2dpOK,100分要找点规律,需要数学头脑 官方题解 //#include <bits/stdc++.h& ...

  8. 二叉树的深度优先遍历(DFS)与广度优先遍历(BFS)

    二叉树的深度优先遍历(DFS)与广度优先遍历(BFS) 深度优先遍历:从根节点出发,沿着左子树方向进行纵向遍历,直到找到叶子节点为止.然后回溯到前一个节点,进行右子树节点的遍历,直到遍历完所有可达节点 ...

  9. 深度优先遍历(DFS)- Letter CasePermutation - Combinations

    深度优先遍历(DFS) 思路:从图中一个未访问的顶点V开始,沿着一条路一直走到尽头,然后从这条路尽头的节点回退到上一个节点,再从另一条路开始走到尽头-,不断递归重复此过程,直到所有顶点都遍历完成. 特 ...

最新文章

  1. java避免使用orderby_java – Spring安全配置@Order不是唯一的例外
  2. 一步步写一个符合Promise/A+规范的库
  3. asp登录页面跳转到注册页面_Java 添加页面跳转按钮到PDF文档
  4. [有奖励]GeneralUpdate开源项目招募开发者
  5. python程序打包时出现lib not found_pyinstaller打包py脚本Warning:lib not found等相关问题...
  6. 制造业一声叹息!干30年实业不如炒股?
  7. ASP.NET MVC 3 - 部分vs显示模板与编辑器模板
  8. ffmpeg.c函数结构简单分析(画图)
  9. DEVC配置C++11标准
  10. 《解读量化投资:西蒙斯用公式打败市场的故事》内容简介及PDF下载
  11. 文本情感分析(介绍文章)--总结
  12. 7.72GB ARCGIS ERDAS ENVI干货教程网盘下载
  13. oracle创建存储过程报错,oracle创建了存储过程,在PLSQL @路径 执行后报错
  14. 企业微信打卡具有人脸识别功能吗?如何设置?
  15. python画成绩正态分布图_R统计学(09): 正态分布 (二)
  16. “非主流”数据库合集,简介
  17. springboot 企业微信申请域名验证: 将下载的文件( WW_verify_XXXXXX.txt)上传至填写域名根目录下
  18. Spark Streaming源码阅读(0)楔子
  19. Java生成二维码或条形码
  20. 用超级简单的C语言实现人机五子棋(键盘控制)

热门文章

  1. python 面向对象(类)--学习笔记
  2. (转)Docker volume plugin - enabled create local volume on docker host
  3. SharePoint:扩展DVWP - 第21部分:实现可维护的三级联动下拉框
  4. XPath函数——字符串函数
  5. 程序练习:Matlab 实现最小二乘法
  6. 计算若干数据的汉明距离总和
  7. DSP:6678开发板NDK网口通信完整实现(附源码)
  8. [云炬创业管理笔记]第6章制定创业行动测试4
  9. [云炬创业基础笔记]第一章创业环境测试12
  10. 科大星云诗社动态20210212