题目

找最大的一片湖的面积,4便有1边相连算相连,4角不算。

runtime error 有一种可能是 数组开的太小,越界了

#define  _CRT_SECURE_NO_WARNINGS

#include<stdio.h>
#include<string.h>
#include<math.h>
#include<algorithm>
#include<queue>
using namespace std;
#define MAXN 110
int map[MAXN][MAXN];
int n,m,sum,a[MAXN*MAXN],b[MAXN*MAXN];//runtime error 原来是这里小了
int xx[]={,,,-};
int yy[]={,-,,};
struct tt
{
int x,y;
}; int bfs()
{
int ans,maxx=;
tt front,rear,temp;
queue<tt>q;
while(!q.empty())
q.pop();
for(int i=;i<sum;i++)
{
if(map[a[i]][b[i]]==)
{
front.x=a[i];front.y=b[i];
q.push(front);
map[a[i]][b[i]]=;
ans=;
while(!q.empty())
{
temp=q.front();
q.pop();
for(int j=;j<;j++)
{
rear.x=temp.x+xx[j];
rear.y=temp.y+yy[j];
if(rear.x>&&rear.y>&&rear.x<=n&&rear.y<=m&&map[rear.x][rear.y]==)
{
q.push(rear);
map[rear.x][rear.y]=;
ans++;
maxx=maxx>ans? maxx:ans;
}
}
}
}
}
return maxx;
} int main()
{
int i;
while(scanf("%d%d%d",&n,&m,&sum)!=EOF)
{
memset(map,,sizeof(map));
for(i=;i<sum;i++)
{
scanf("%d%d",&a[i],&b[i]);
map[a[i]][b[i]]=;
}
printf("%d\n",bfs());
} return ;
}

最新文章

  1. eclipse调试solr
  2. mysql优化杂记
  3. iOS9开发者测试版下载地址(系转载)
  4. Java小bug
  5. python np.linspace
  6. Curling 2.0(dfs)
  7. 什么是MBS,ABS和CDO
  8. IT学习方法
  9. 关于GitHub账号及文章选题
  10. 【Xilinx-Petalinux学习】-08-OpenAMP系统实现
  11. Luogu P3731 [HAOI2017]新型城市化
  12. 记一次ssh配置的锅
  13. 网络编程基础【day09】:解决socket粘包之大数据(七)
  14. requirejs模块路径配置问题
  15. Class__Two
  16. python 之 函数的参数
  17. CSS Counter Style试玩儿
  18. kali64位 安装 adb
  19. shell中参数及带色彩打印
  20. iOS: 音效和音乐的播放,封装的工具类

热门文章

  1. 记录一次会话CRT
  2. vim包,已自带所有常用插件及常用命令总结
  3. Fedora 20 创建桌面快捷方式
  4. Spring配置文件web.xml关于拦截
  5. 打造自己的3D全景漫游
  6. AJAX 跨域 :Access-Control-Allow-Origin
  7. Powerdesigner15 创建数据库生成脚本
  8. linux的7种运行级别
  9. 深入理解JavaScript的变量作用域(转载Rain Man之作)
  10. jar 命令打war包