poj3620
#include<iostream>
#include<string>
#include<stack>
#include<vector>
#include<queue>
#include<cstdio>
using namespace std;
int max(int a,int b){
return a>b?a:b;
}
int a[110][110],vis[111][111];
int N,M,K;
int dfs(int x,int y){ //求得点块的大小
int z=1;
if(a[x][y]==0) return 0;
vis[x][y]=1;
if(x-1>0&&!vis[x-1][y]) z+=dfs(x-1,y);
if(y-1>0&&!vis[x][y-1]) z+=dfs(x,y-1);
if(x+1<=N&&!vis[x+1][y]) z+=dfs(x+1,y);
if(y+1<=M&&!vis[x][y+1]) z+=dfs(x,y+1);
return z;
}
struct Node{int x,y;};
int dx[]={0,-1,0,1};
int dy[]={-1,0,1,0};
int bfs(int X,int Y){
int i,val=0;
Node now;
now.x=X , now.y=Y;
queue<Node>q;
q.push(now);
vis[X][Y]=1;
while(!q.empty()){
Node u=q.front();q.pop();
val++; //计数
for(i=0;i<4;i++){ //四个方向的查找
Node v;
v.x=dx[i]+u.x;
v.y=dy[i]+u.y;
if(v.x<1 || v.x>N) continue;
if(v.y<1 || v.y>M) continue;
if(!vis[v.x][v.y]&&a[v.x][v.y]==1){
q.push(v); //加入队列
vis[v.x][v.y]=1; //标记为访问过
}
}
}
return val;
}
int main(){
cin>>N>>M>>K;
int i,j;
for(i=0;i<K;i++){
int x,y;
scanf("%d%d",&x,&y);
a[x][y]=1;
}
int ans=0;
for(i=1;i<=N;i++){
for(j=1;j<=M;j++){
if(a[i][j]==1&&!vis[i][j]){
ans=max(ans,bfs(i,j));
}
}
}
printf("%d\n",ans);
return 0;
}
poj3620的更多相关文章
- ACM训练计划建议(写给本校acmer,欢迎围观和指正)
ACM训练计划建议 From:freecode# Date:2015/5/20 前言: 老师要我们整理一份训练计划给下一届的学弟学妹们,整理出来了,费了不少笔墨,就也将它放到博客园上供大家参考. 菜 ...
- 【POJ水题完成表】
题目 完成情况 poj1000:A+B problem 完成 poj1002:电话上按键对应着数字.现在给n个电话,求排序.相同的归一类 完成 poj1003:求最小的n让1+1/2+1/3+...+ ...
- poj练习题的方法
poj1010--邮票问题 DFSpoj1011--Sticks dfs + 剪枝poj1020--拼蛋糕poj1054--The Troublesome Frogpoj1062--昂贵的聘礼poj1 ...
- ACM学习大纲
1 推荐题库 •http://ace.delos.com/usaco/ 美国的OI 题库,如果是刚入门的新手,可以尝试先把它刷通,能够学到几乎全部的基础算法极其优化,全部的题解及标程还有题目翻译可以b ...
- ACM训练计划建议(转)
ACM训练计划建议 From:freecode# Date:2015/5/20 前言: 老师要我们整理一份训练计划给下一届的学弟学妹们,整理出来了,费了不少笔墨,就也将它放到博客园上供大家参考. 菜 ...
- ACM训练大纲
1. 算法总结及推荐题目 1.1 C++ STL • STL容器: set, map, vector, priority_queue, queue, stack, deque, bitset• STL ...
- ACM学习大纲(转)
1 推荐题库 •http://ace.delos.com/usaco/ 美国的OI 题库,如果是刚入门的新手,可以尝试先把它刷通,能够学到几乎全部的基础算法极其优化,全部的题解及标程还有题目翻译可以b ...
随机推荐
- HDU 4717The Moving Points warmup2 1002题(三分)
The Moving Points Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others ...
- bzoj2818
我们先穷举素数p然后令y>x 这样问题就是求这个gcd(x,y)=p (1<=x<y=n)不难发现必须y=kp k∈N* 当y=p时,易知个数为φ(1)当y=2p 个数为φ(2), ...
- SendMessage和PostMessage区别以及WPARAM 和 LPARAM区别
WPARAM 和 LPARAM wParam和lParam 这两个是Win16系统遗留下来的产物,在Win16API中WndProc有两个参数:一个是WORD类型的16位整型变量:另一个是LONG类型 ...
- 《algorithm puzzles》——概述
这个专题我们开始对<algorithm puzzles>一书的学习,这本书是一本谜题集,包括一些数学与计算机起源性的古典命题和一些比较新颖的谜题,序章的几句话非常好,在这里做简单的摘录. ...
- C++设计模式---职责链模式
职责链模式:使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系.将这个对象连成一条链,并沿这条链传递该请求,直到有一个对象处理它为止. 这里发出这个请求的客户端并不知道这当中的哪一 ...
- Jemter
1.我们需要创建批量数据 2.jemter连接数据库 3.调用外部数据 4.我要获取的值原本服务器返回的结果是:以下是左边界和右边界.提取想要的数值
- Demo_塔防(自动生成怪物,导航,炮塔攻击,怪物掉血死忙)
using UnityEngine; using System.Collections; public struct WaveMsg { //该波次生成的怪物 public GameObject mo ...
- HDU 4628 多校第三场1008 dp
这题就没什么好说的了.直接枚举2 ^ 16 的状态,用1表示拿这位,0表示不拿,每次判断是否可以这么拿. #include <iostream> #include <cstdio&g ...
- 【转】四种常见的POST提交数据方式
HTTP/1.1 协议规定的 HTTP 请求方法有 OPTIONS.GET.HEAD.POST.PUT.DELETE.TRACE.CONNECT 这几种.其中 POST 一般用来向服务端提交数据,本文 ...
- 字体图标 icon font
Icon font icon font 指的是用字体文件代替图片文件,来展示图标.特殊字体等元素的方法. 应用场景: iconfont的优缺点 大小能够自由地变化 颜色能够自由地改动 加入阴影效果 * ...