NEUQ oj 1861: 聪会长的关爱
来源:互联网 发布:c语言无法打开源文件 编辑:程序博客网 时间:2024/04/28 22:32
1861: 聪会长的关爱
描述
题目描述:
大家都知道NEUQ-ACM俱乐部的会长聪聪是个英俊帅气的暖男,他最喜欢关心各路好看的妹子了。 这一天,他来到工学馆的一间教室,发现好多好多的漂亮小姐姐。但是小姐姐们都被一些丑陋的男人围着,聪聪很害怕,他不想得罪他们。 所以聪聪决定从一个小姐姐开始,把所有和她相邻的小姐姐,以及相邻的相邻的小姐姐(相邻小姐姐是指横、竖或对角线方向的第一位小姐姐)都关心一遍,而不跨过那些丑陋的男人。 请问聪聪最多能关心到多少个小姐姐?
输入:
多组输入。 每组第一行输入两个数m和n(0<m,n<=1000),表示教室的大小,有m行n列的座位。当m和n为0时停止程序。 输入一个教室的人员分布图,用一个矩阵表示,其中“@”表示小姐姐,“*”表示丑陋的男人。
输出:
每组输出一行一个数字,表示聪聪最多能撩到的小姐姐数量。
样例输入
5 5
****@
*@@*@
*@**@
@@@*@
@@**@
0 0
样例输出
8
#include<stdio.h>#include<string.h>#include<algorithm>#include<iostream>#include<math.h>#include<queue>using namespace std;struct node{ int x; int y; int sum;}temp,temp1;int r[10005];char aa[1005][1005];int vis[1005][1005];int dx[10]={0,0,1,-1,1,1,-1,-1};int dy[10]={-1,1,0,0,1,-1,-1,1};int m,n;int bfs(int x,int y){ queue<node >q; node s; vis[x][y]=1; s.x=x; s.y=y; q.push(s); int ans=1; while(!q.empty()) { temp=q.front(); q.pop(); for(int i=0;i<8;i++) { temp1.x=temp.x+dx[i]; temp1.y=temp.y+dy[i]; if(temp1.x>=0&&temp1.x<m&&temp1.y>=0&&temp1.y<n&&aa[temp1.x][temp1.y]=='@'&&!vis[temp1.x][temp1.y]) { vis[temp1.x][temp1.y]=1; cout<<temp1.x<<" "<<temp1.y<<endl; ans++; q.push(temp1); } } } return ans;}int main(){ while(cin>>m>>n) { char ch=getchar(); memset(vis,0,sizeof(vis)); for(int i=0;i<m;i++) { scanf("%s",aa[i]); } int cnt=0; for(int i=0;i<m;i++) { for(int j=0;j<n;j++) { if(aa[i][j]=='@'&&!vis[i][j]) { r[cnt++]=bfs(i,j); } } } sort(r,r+cnt); cout<<r[cnt-1]<<endl; } return 0;}
阅读全文
1 0
- NEUQ oj 1861: 聪会长的关爱
- 聪会长的关爱:dfs计算最大八方联通块的面积
- neuq-oj-1042
- NEUQ oj 1036 题解
- NEUQ oj 1068 题解
- NEUQ 1096: NEUQ的邮票
- neuq 1096 NEUQ的邮票
- neuq oj 1007 计负均正 C++
- NEUQ oj-1317手机键盘
- NEUQ oj-1102高级机密
- NEUQ-OJ:1177 亲和数
- 1096: NEUQ的邮票
- NEUQ-OJ系列教程(一)
- NEUQ-OJ系列教程(二)
- [NEUQ-OJ] 1012SZ斐波拉契数列
- neuq oj 1008 公约公倍C++
- neuq oj 1009C++统计字符 C++
- neuq oj 1010 阶乘数列 C语言
- Matlab 读取 UCI .data 数据集
- C语言获取当前日期及时间
- Android Room持久化库
- 关于Java中Match类的appendReplacement()方法的一个坑{ character to be escaped }
- Android实现多语言so easy
- NEUQ oj 1861: 聪会长的关爱
- 团体程序设计天梯赛-练习集 L1-027. 出租
- 英语札记5
- TCP的拥塞控制
- 设计模式之禅22
- hadoop环境安装步骤
- 调整hadoop的守护进程大小
- 【安全牛学习笔记】手动漏洞挖掘-SQL注入
- LeetCode Container With Most Water