关注
联通块问题,BFS就可以了 #include<iostream>
#include<string>
#include<vector>
#include<queue>
using namespace std;
class point
{
public:
int x;
int y;
point(int i,int j)
{
x = i;
y = j;
}
};
int main()
{
string s;
int m=1;
int n = 1;
cin >> s;
int mark = s.find(',');
m=atoi(s.substr(0, mark).c_str());
n = atoi(s.substr(mark+1,s.size()).c_str());
bool ** a = new bool*[m];
bool ** visited = new bool*[m];
for (int i = 0; i < n; i++)
{
a[i] = new bool[n];
visited[i] = new bool[n];
for (int j = 0; j < n; j++)
{
visited[i][j] = false;
}
}
for (int i = 0; i < m; i++)
{
s = "";
cin >> s;
int k = 0;
for (int j = 0; j < s.size(); j++)
{
if (s[j] == '0')
{
a[i][k] = false;
k++;
}
if (s[j] == '1')
{
a[i][k] = true;
k++;
}
}
}
//input finished
vector<int> group;
queue<point>que;
for (int i = 0; i < m; i++)
{
for (int j = 0; j < n; j++)
{
if (a[i][j] == true&&visited[i][j]!=true)
{
int number = 0;
//push queue
point p(i,j);
que.push(p);
while (!que.empty())
{
point p1 = que.front();
que.pop();
number++;
//visit p1
visited[p1.x][p1.y] = true;
//check
for (int ii = p1.x - 1; ii <= p1.x + 1; ii++)
{
for (int jj = p1.y - 1; jj <= p1.y+1; jj++)
{
if (ii < 0 || ii >= m || jj < 0 || jj >= n)
{
continue;
}
if (a[ii][jj] == true&&visited[ii][jj]!=true)
{
que.push(point(ii, jj));
visited[ii][jj] = true;
}
}
}
}
group.push_back(number);
}
}
}
int max = 0;
for (int i = 0; i < group.size(); i++)
{
max = max > group[i] ? max : group[i];
}
cout << group.size() << "," << max << endl;
}
查看原帖
点赞 评论
相关推荐
04-08 11:03
University of Wisconsin Madison 计算机类 点赞 评论 收藏
转发
点赞 评论 收藏
转发
牛客热帖
正在热议
# 牛客帮帮团来啦!有问必答 #
1130542次浏览 16921人参与
# 通信和硬件还有转码的必要吗 #
10529次浏览 99人参与
# OPPO开奖 #
13025次浏览 199人参与
# 和牛牛一起刷题打卡 #
17389次浏览 1540人参与
# 通信硬件薪资爆料 #
263072次浏览 2456人参与
# 简历无回复,你会继续海投还是优化再投? #
24702次浏览 354人参与
# 不去互联网可以去金融科技 #
11112次浏览 143人参与
# 参加过提前批的机械人,你们还参加秋招么 #
14442次浏览 349人参与
# 面试被问第一学历差时该怎么回答 #
19195次浏览 211人参与
# 提前批和秋招有什么区别 #
30310次浏览 728人参与
# 大厂无回复,继续等待还是奔赴小厂 #
2487次浏览 16人参与
# 你收到了团子的OC了吗 #
536412次浏览 6365人参与
# 实习与准备秋招该如何平衡 #
201035次浏览 3585人参与
# 你见过最离谱的招聘要求是什么? #
22396次浏览 190人参与
# 实习生应该准时下班吗 #
95973次浏览 719人参与
# 国企是理工四大天坑的最好选择吗 #
1929次浏览 33人参与
# 工作两年想退休了 #
20459次浏览 264人参与
# 吉利求职进展汇总 #
13601次浏览 135人参与
# 本周投递记录 #
223619次浏览 5428人参与
# 晒一晒我的offer #
3809099次浏览 58389人参与
# 你已经投递多少份简历了 #
342375次浏览 4943人参与
# 如何看待offer收割机的行为 #
249574次浏览 3489人参与