关注
#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
相关推荐
04-02 22:37
平顶山学院 算法工程师 点赞 评论 收藏
分享
03-12 22:32
广东工业大学 Java 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 烂工作和没工作哪个更痛苦? #
5370次浏览 92人参与
# 如何提高实习转正率? #
98376次浏览 550人参与
# 厦门银行科技岗值不值得投 #
16946次浏览 406人参与
# 给工作过的公司写一条大众点评,你会怎么写? #
2323次浏览 33人参与
# 重来一次,我还会选择这个专业吗 #
443648次浏览 3935人参与
# AI替代不了什么? #
4760次浏览 68人参与
# 银行笔面经互助 #
189803次浏览 1312人参与
# 春招至今,你收到几个面试了? #
8995次浏览 143人参与
# 现在入门AI首先要做什么? #
1084次浏览 34人参与
# 学历VS实习,哪个更重要? #
16101次浏览 217人参与
# 职场吐槽大会 #
344714次浏览 2275人参与
# 一人分享一个skill #
793次浏览 25人参与
# 总结:offer选择,我是怎么选的 #
280089次浏览 1547人参与
# Agent面试会问什么? #
3760次浏览 95人参与
# 机械人,你的秋招第一份简历被谁挂了 #
260870次浏览 2435人参与
# 2023届毁约公司名单 #
253181次浏览 1072人参与
# 月薪多少能在一线城市生存 #
148928次浏览 908人参与
# 一人分享一道面试手撕题 #
116168次浏览 2970人参与
# 你做过哪些dirty work #
32134次浏览 162人参与
# 发工资后,你做的第一件事是什么 #
101066次浏览 343人参与
# 查收我的offer竞争力报告 #
290672次浏览 1735人参与