关注
#include <iostream>
#include <vector>
using namespace std;
const int direction[4][2] = {
{-1,0}, // 上
{1,0}, // 下
{0,1}, // 右
{0,-1} // 左
};
void helper(vector<vector<int>>& matrix, int x, int y, vector<vector<bool>>& visited)
{
int M = matrix.size();
for(int i=0;i<4;i++)
{
int tmp_x = x + direction[i][0];
int tmp_y = y + direction[i][1];
if(tmp_x<0 || tmp_y<0 || tmp_x>=M || tmp_y>=M)
{
continue;
}
if(matrix[tmp_x][tmp_y]==1 && !visited[tmp_x][tmp_y])
{
visited[tmp_x][tmp_y] = true;
helper(matrix, tmp_x, tmp_y, visited);
}
}
}
int main(int argc, char* argv[])
{
int M = 0;
while(cin>>M)
{
vector<vector<int>> matrix(M, vector<int>(M));
for(int i=0;i<M;i++)
{
for(int j=0;j<M;j++)
{
cin >> matrix[i][j];
}
}
int num = 0;
vector<vector<bool>> visited(M, vector<bool>(M, false));
for(int i=0;i<M;i++)
{
for(int j=0;j<M;j++)
{
if(matrix[i][j]==1 && !visited[i][j])
{
visited[i][j] = true;
num++;
helper(matrix, i, j, visited);
}
}
}
cout << num << endl;
}
return 0;
}
查看原帖
点赞 3
相关推荐
点赞 评论 收藏
分享
03-04 10:05
赤峰学院 嵌入式工程师 点赞 评论 收藏
分享

点赞 评论 收藏
分享


点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 国企还是互联网,你怎么选? #
122255次浏览 943人参与
# 找工作,行业重要还是岗位重要? #
8196次浏览 105人参与
# 五一之后,实习真的很难找吗? #
46595次浏览 335人参与
# 盲审过后你想做什么? #
12901次浏览 115人参与
# 小厂实习有必要去吗 #
42309次浏览 260人参与
# 领导秒批的请假话术 #
10129次浏览 76人参与
# 设计人如何选offer #
98516次浏览 690人参与
# 外包能不能当跳板? #
22234次浏览 191人参与
# 五一假期,你打算“躺”还是“卷”? #
32579次浏览 446人参与
# 考研可以缓解求职焦虑吗 #
21405次浏览 252人参与
# 如果校招重来我最想改变的是 #
245268次浏览 2781人参与
# 面试等了一周没回复,还有戏吗 #
115849次浏览 1078人参与
# 大疆的机械笔试比去年难吗 #
69693次浏览 603人参与
# 硬件人,你被哪些公司给挂了 #
46840次浏览 724人参与
# 如果有时光机,你最想去到哪个年纪? #
43408次浏览 770人参与
# 找工作前vs找工作后的心路变化 #
7228次浏览 64人参与
# 秋招前后对offer的期望对比 #
271808次浏览 2075人参与
# 面试中,你被问过哪些奇葩问题? #
63614次浏览 777人参与
# 写简历别走弯路 #
714699次浏览 7850人参与
# 一句话证明你在找工作 #
291545次浏览 2389人参与