源代码:c++坑爹小代码(朋友直叫娘) 您所在的位置:网站首页 坑人的代码手机QQ 源代码:c++坑爹小代码(朋友直叫娘)

源代码:c++坑爹小代码(朋友直叫娘)

2024-01-10 15:18| 来源: 网络整理| 查看: 265

【c++】楼层编号

2301_80463174: 啊好棒

c++ 深搜,猴群

王千睿: #include #include using namespace std; // 方向数组,用于遍历矩阵的上下左右四个方向 int dx[] = {-1, 1, 0, 0}; int dy[] = {0, 0, -1, 1}; // 检查一个位置是否在矩阵范围内 bool isValid(int x, int y, int m, int n) { return x >= 0 && x < m && y >= 0 && y < n; } // 深度优先搜索函数,用于找到一群猴子 void dfs(int x, int y, vector& matrix, vector& visited) { visited[x][y] = true; int m = matrix.size(); int n = matrix[0].size(); for (int i = 0; i < 4; ++i) { int newX = x + dx[i]; int newY = y + dy[i]; if (isValid(newX, newY, m, n) && matrix[newX][newY] == 0 && !visited[newX][newY]) { dfs(newX, newY, matrix, visited); } } } int countMonkeyGroups(vector& matrix) { int m = matrix.size(); int n = matrix[0].size(); vector visited(m, vector(n, false)); int monkeyGroups = 0; for (int i = 0; i < m; ++i) { for (int j = 0; j < n; ++j) { if (matrix[i][j] == 0 && !visited[i][j]) { dfs(i, j, matrix, visited); monkeyGroups++; } } } return monkeyGroups; } int main() { int m, n; cin >> m >> n; vector matrix(m, vector(n)); for (int i = 0; i < m; ++i) { for (int j = 0; j < n; ++j) { cin >> matrix[i][j]; } } int result = countMonkeyGroups(matrix); cout



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有