当前位置: 首页 > news >正文

网站配色原理wordpress 发送邮件 名称

网站配色原理,wordpress 发送邮件 名称,自适应网站是什么,企业查官网代码随想录算法训练营第六十五天 KM99. 岛屿数量——深搜 题目链接:KM99. 岛屿数量 使用递归深度搜索,将每次遇到的岛屿上下左右记录为已经到过,如果遇到没到过的说明它上下左右不是之间遍历过的岛屿,结果计数1。最后统计计数即…

代码随想录算法训练营第六十五天

KM99. 岛屿数量——深搜

题目链接:KM99. 岛屿数量
使用递归深度搜索,将每次遇到的岛屿上下左右记录为已经到过,如果遇到没到过的说明它上下左右不是之间遍历过的岛屿,结果计数+1。最后统计计数即可知道有多少个岛屿

#include <iostream>
#include <vector>
using namespace std;int dir[4][2] = {{0, 1}, //列+1,右移{1, 0}, //行+1,下移{-1, 0},//行-1,上移{0, -1} //列-1,左移
};
void dfs(const vector<vector<int>>& grid, vector<vector<bool>>& visited, int x, int y) {if (visited[x][y] || grid[x][y] == 0) return;visited[x][y] = true;for (int i = 0; i < 4; i++) {int next_x = x + dir[i][0];int next_y = y + dir[i][1];if (next_x < 0 || next_x >= grid.size() || next_y < 0 || next_y >= grid[0].size()) continue;// 越界了,直接跳过dfs(grid, visited, next_x, next_y);}
};int main() {int N, M;std::cin >> N >> M;vector<vector<int>> grid(N, vector<int>(M, 0));for (int i = 0; i < N; i++) {for (int j = 0; j < M; j++) {cin >> grid[i][j];}}vector<vector<bool>> visited(N, vector<bool>(M, false));int result = 0;for (int i = 0; i < N; i++) {for (int j = 0; j < M; j++) {if (!visited[i][j] && grid[i][j] == 1) {result++;dfs(grid, visited, i, j);}}}std::cout << result << std::endl;return 0;
};

KM99. 岛屿数量——广搜

题目链接:KM99. 岛屿数量
使用广度搜索,将每次遇到的岛屿上下左右记录为已经到过,如果遇到没到过的说明它上下左右不是之间遍历过的岛屿,结果计数+1。最后统计计数即可知道有多少个岛屿


#include<iostream>
#include<vector>
#include<queue>using namespace std;int dir[4][2] = {{0,  1}, //列+1,右移{1,  0}, //行+1,下移{-1, 0},//行-1,上移{0,  -1} //列-1,左移
};void bfs(vector<vector<int>> &grid, vector<vector<bool>> &visited, int x, int y) {queue<pair<int, int>> que;que.push({x, y});visited[x][y] = true;while (!que.empty()) {pair<int, int> cur = que.front();que.pop();for (int i = 0; i < 4; i++) {int next_x = cur.first + dir[i][0];int next_y = cur.second + dir[i][1];if (next_x < 0 || next_x >= grid.size() || next_y < 0 || next_y >= grid[0].size())continue;if (grid[next_x][next_y] == 1 && !visited[next_x][next_y]) {visited[next_x][next_y] = true;que.push({next_x, next_y});}}}
};int main() {int N, M;std::cin >> N >> M;vector<vector<int>> grid(N, vector<int>(M, 0));for (int i = 0; i < N; i++) {for (int j = 0; j < M; j++) {cin >> grid[i][j];}}vector<vector<bool>> visited(N, vector<bool>(M, false));int result = 0;for (int i = 0; i < N; i++) {for (int j = 0; j < M; j++) {if (!visited[i][j] && grid[i][j] == 1) {result++;bfs(grid, visited, i, j);}}}std::cout << result << std::endl;return 0;
};

KM100. 岛屿的最大面积

题目链接:KM100. 岛屿的最大面积
在广度搜索中累计相邻陆地组成岛屿的面积,再在外部对比每块岛屿的面积取最大面积

#include<iostream>
#include<vector>
#include<queue>
#include<algorithm>using namespace std;
int max_count = 0;
int dir[4][2] = {{0,  1}, //列+1,右移{1,  0}, //行+1,下移{-1, 0},//行-1,上移{0,  -1} //列-1,左移
};void bfs(vector<vector<int>> &grid, vector<vector<bool>> &visited, int x, int y,int& count) {queue<pair<int, int>> que;que.push({x, y});visited[x][y] = true;count++;while (!que.empty()) {pair<int, int> cur = que.front();que.pop();for (int i = 0; i < 4; i++) {int next_x = cur.first + dir[i][0];int next_y = cur.second + dir[i][1];if (next_x < 0 || next_x >= grid.size() || next_y < 0 || next_y >= grid[0].size())continue;if (grid[next_x][next_y] == 1 && !visited[next_x][next_y]) {visited[next_x][next_y] = true;que.push({next_x, next_y});count++;}}}
};int main() {int N, M;std::cin >> N >> M;vector<vector<int>> grid(N, vector<int>(M, 0));for (int i = 0; i < N; i++) {for (int j = 0; j < M; j++) {cin >> grid[i][j];}}vector<vector<bool>> visited(N, vector<bool>(M, false));for (int i = 0; i < N; i++) {for (int j = 0; j < M; j++) {if (!visited[i][j] && grid[i][j] == 1) {int count = 0;bfs(grid, visited, i, j,count);max_count = max(max_count,count);}}}std::cout << max_count << std::endl;return 0;
};

http://www.yayakq.cn/news/126455/

相关文章:

  • 网站收录后然后怎么做大兴做网站
  • 网站建设费入职高门户网站建设标准
  • 网站上线步骤安装wordpress主题失败
  • 做社交网站的预算阿里云服务器做网站安全吗
  • 淘宝联盟如何建设个人网站旺道seo推广系统怎么收费
  • 金融公司做网站域名最新网站建设进度表
  • psd模板怎么做网站wordpress 模板位置
  • wordpress页面地图网站推广和seo
  • 中小学网站模板源码陵园网站建设价格
  • 不用备案的网站网站开发技术网站
  • 网站开发专业实习报告为什么电脑打不开网页
  • 网站建设莱州哪家强?wordpress怎样禁止采集
  • 网站建设广告投放是什么获取网站访问者qq号
  • 社交网站盈利吗平顶山市网站建设公司
  • 找家里做的工作上哪个网站关键词指数
  • 苏州网络自学网站建设超值的郑州网站建设
  • 网站后缀gov中国光伏企业排行榜
  • 民营建筑网站做快手电商需要什么条件
  • 安庆建设网站厦门建设管理局网站
  • 廊坊网站建设服务建设学院2级网站的作用
  • 网站收录在下降wordpress统计人数插件
  • 网站建设 每年费用企业年金怎么查询个人账户余额
  • 为切实加强 网站建设免费游戏网站制作
  • 站长统计官网图片制作成视频的手机软件
  • 如何在自己的网站上做友情链接东莞专业做网站公司
  • 合肥做网站 卫来网络信誉好的顺德网站建设
  • 织梦 响应式网站陕西省建设厅官网证件查询
  • 用js做的网站在线拼图
  • 四川聚锋建设工程有限公司官方网站合肥企业做网站
  • 网站主要内容深圳市水平线室内设计有限公司