关注
联通块问题,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;
}
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 如何一边实习一边找下家? #
23696次浏览 166人参与
# 实习生如何通过转正 #
129395次浏览 1463人参与
# MiniMax求职进展汇总 #
11628次浏览 213人参与
# 跟HR说什么能被秒回? #
7584次浏览 140人参与
# 电信求职进展汇总 #
45049次浏览 206人参与
# 春招/暑实第一面是哪家? #
16376次浏览 211人参与
# 巨人网络春招 #
9681次浏览 160人参与
# 快手年终开大包 #
11671次浏览 95人参与
# 面试官最爱问的 AI 问题是...... #
12710次浏览 452人参与
# 银行笔面经互助 #
184564次浏览 1303人参与
# 秋招提前批,你开始投了吗 #
728800次浏览 8459人参与
# 把自己当AI,现在最消耗你token的问题是什么? #
2210次浏览 77人参与
# 设计人秋招体验最好的公司 #
85822次浏览 742人参与
# 现在入门AI应该走哪些方向? #
3145次浏览 75人参与
# 你的嫡系AI是哪个? #
3179次浏览 81人参与
# 你收到了哪些公司的笔试? #
14823次浏览 81人参与
# 机械人,说说你的烦心事 #
135330次浏览 1136人参与
# 找工作中的小确幸 #
85033次浏览 463人参与
# 你现在的工作,是“成长”还是“消耗”? #
7499次浏览 128人参与
# 海信求职进展汇总 #
97788次浏览 416人参与
# 你觉得面试是靠实力还是靠运气 #
32946次浏览 396人参与
# 重来一次,你会对开始求职的自己说 #
39229次浏览 433人参与