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

登别的网站应怎么做wordpress自定义背景

登别的网站应怎么做,wordpress自定义背景,喷码机营销型网站,可信网站的认证图论 题目 99. 岛屿数量 使用 DFS 实现方法 判断岛屿方法 1. 遍历图,若遍历到了陆地 grid[i][j] 1 并且陆地没有被访问,在这个陆地的基础上进行 DFS 方法,或者是 BFS 方法 2. 对陆地进行 DFS 的时候时刻注意以访问的元素添加访问标记 //…

图论

题目

99. 岛屿数量
使用 DFS 实现方法
判断岛屿方法
1. 遍历图,若遍历到了陆地 grid[i][j] = 1 并且陆地没有被访问,在这个陆地的基础上进行 DFS 方法,或者是 BFS 方法
2. 对陆地进行 DFS 的时候时刻注意以访问的元素添加访问标记
在这里插入图片描述

// DFS方法1
#include <iostream>
#include <vector>int dir[4][2] = {0,1,1,0,-1,0,0,-1};
void dfs(std::vector<std::vector<int>>& grid, std::vector<std::vector<bool>>& vis, int x, int y) {// 从四个方向进行搜索for (int i = 0; i < 4; ++i) {int nexti = x + dir[i][0];int nextj = y + dir[i][1];// 边界情况判定if (nexti < 0 || nexti >= grid.size()|| nextj < 0 || nextj >= grid[0].size()) continue;// 访问情况判定if (!vis[nexti][nextj] && grid[nexti][nextj] == 1) {// 时刻注意访问标记vis[nexti][nextj] = true;dfs(grid, vis, nexti, nextj);}}
}int main() {// 输入处理int n, m, res = 0;std::cin >> n >> m;std::vector<std::vector<int>> grid(n, std::vector<int>(m, 0));std::vector<std::vector<bool>> vis(n, std::vector<bool>(m, false));for (int i = 0; i < n; ++i) {for (int j = 0; j < m; ++j) {std::cin >> grid[i][j];}}// 遍历网格进行DFS操作for (int i = 0; i < n; ++i) {for (int j = 0; j < m; ++j) {// 访问到新陆地对该陆地进行遍历if (grid[i][j] == 1 && !vis[i][j]) {res++; // 记录新大陆vis[i][j] = true;dfs(grid, vis, i, j);}}}// 输出处理std::cout << res << std::endl;
}// dfs 三部曲写法
#include <iostream>
#include <vector>
using namespace std;int dir[4][2] = {0,-1,-1,0,1,0,0,1}; // 逆时针顺序
// 第一步参数与返回值
void dfs(vector<vector<int>>& grid, vector<vector<bool>>& vis, int x, int y) {// 第二部 终止条件if (vis[x][y] || grid[x][y] == 0) return;// 第三部 单层递归逻辑vis[x][y] = true;for (int i = 0; i < 4; ++i) {int nextX = x + dir[i][0];int nextY = y + dir[i][1];if (nextX < 0 || nextX >= grid.size() || nextY < 0 || nextY >= grid[0].size()) continue;dfs(grid, vis, nextX, nextY);}
}int main() {int n, m, res = 0;cin >> n >> m;vector<vector<int>> grid(n, vector<int>(m, 0));vector<vector<bool>> vis(n, vector<bool>(m, false));for (int i = 0; i < n; ++i) {for (int j = 0; j < m; ++j) {cin >> grid[i][j];}}for (int i = 0; i < n; ++i) {for (int j = 0; j < m; ++j) {if (!vis[i][j] && grid[i][j] == 1) {res++;dfs(grid, vis, i, j);}}}cout << res << endl;
}

使用广度优先搜索方法
主函数部分不变,调用变成广度优先搜索
广度优先搜索保证入队列的时候就对数据做标记为访问
如果在取出队列时候标记会导致大量重复元素入队!

#include <iostream>
#include <vector>
#include <queue>
using namespace std;int dir[4][2] = {0,-1,-1,0,1,0,0,1};
void bfs(vector<vector<int>>& grid, vector<vector<bool>>& vis, int x, int y) {// 创建队列存储下标queue<pair<int, int>> que;// 保证入队的时候就标记访问防止重复访问que.push(make_pair(x, y));while (!que.empty()) {pair<int, int> cur = que.front();que.pop();for (int i = 0; i < 4; ++i) {int nextX = cur.first + dir[i][0];int nextY = cur.second + dir[i][1];if (nextX < 0 || nextX >= grid.size() || nextY < 0 || nextY >= grid[0].size()) continue;if (!vis[nextX][nextY] && grid[nextX][nextY] == 1) {que.push({nextX, nextY});vis[nextX][nextY] = true; // 入队即标记防止重复}}}
}int main() {int n, m, res = 0;cin >> n >> m;vector<vector<int>> grid(n, vector<int>(m, 0));vector<vector<bool>> vis(n, vector<bool>(m, false));for (int i = 0; i < n; ++i) {for (int j = 0; j < m; ++j) {cin >> grid[i][j];}}for (int i = 0; i < n; ++i) {for (int j = 0; j < m; ++j) {if (!vis[i][j] && grid[i][j] == 1) {res++;bfs(grid, vis, i, j);}}}cout << res << endl;
}

100. 岛屿的最大面积
岛屿最大面积,给出广度优先搜索,深度优先搜索(A 和 B)
深度优先 B广度优先在函数外初始化记录,深度优先 A 在函数内初始化记录

#include <iostream>
#include <vector>
#include <queue>
#include <algorithm>
using namespace std;int tmp = 0;
int dir[4][2] = {0,-1,-1,0,1,0,0,1};int bfs(vector<vector<int>>& grid, vector<vector<bool>>& vis, int x, int y) {tmp = 1;queue<pair<int, int>> que;que.push(make_pair(x, y));vis[x][y] = true;while (!que.empty()) {pair<int, int> cur = que.front();que.pop();for (int i = 0; i < 4; ++i) {int nextX = cur.first + dir[i][0];int nextY = cur.second + dir[i][1];if (nextX < 0 || nextX >= grid.size() || nextY < 0 || nextY >= grid[0].size()) continue;if (!vis[nextX][nextY] && grid[nextX][nextY] == 1) {tmp++;que.push({nextX, nextY});vis[nextX][nextY] = true;}}}return tmp;
}void dfs(vector<vector<int>>& grid, vector<vector<bool>>& vis, int x, int y) {// 1 finif (vis[x][y] || grid[x][y] == 0) return;vis[x][y] = true;tmp++;for (int i = 0; i < 4; ++i) {int nextX = x + dir[i][0];int nextY = y + dir[i][1];if (nextX < 0 || nextX >= grid.size() || nextY < 0 || nextY >= grid[0].size()) continue;dfs(grid, vis, nextX, nextY);}
}void dfs2(vector<vector<int>>& grid, vector<vector<bool>>& vis, int x, int y) {// 2for (int i = 0; i < 4; ++i) {int nextX = x + dir[i][0];int nextY = y + dir[i][1];if (nextX < 0 || nextX >= grid.size() || nextY < 0 || nextY > grid[0].size()) continue;if (!vis[nextX][nextY] && grid[nextX][nextY] == 1) {tmp++;vis[nextX][nextY] = true;dfs2(grid, vis, nextX, nextY);}}
}int main(){int n, m, res = 0, maxV = 0;cin >> n >> m;vector<vector<int>> grid(n, vector<int>(m, 0));vector<vector<bool>> vis(n, vector<bool>(m, false));for (int i = 0; i < n; ++i) {for (int j = 0; j < m; ++j) {cin >> grid[i][j];}}for (int i = 0; i < n; ++i) {for (int j = 0; j < m; ++j) {if (!vis[i][j] && grid[i][j] == 1) {res++;// 深度优先 1// tmp = 0; // 因为dfs内首先计算tmp// dfs(grid, vis, i, j);// maxV = max(maxV, tmp);// 深度优先 2tmp = 1; // dfs需要初始vis[i][j] = true;dfs2(grid, vis, i, j);maxV = max(maxV, tmp);// 广度优先// maxV = max(maxV, bfs(grid, vis, i, j));}}}// cout << "res" << res << endl;cout << maxV << endl;return 0;
}

文章转载自:

http://CoJHBSM9.wgzgr.cn
http://2k3HDefw.wgzgr.cn
http://TsAgs7f7.wgzgr.cn
http://rTJBp2Zi.wgzgr.cn
http://BWUgZk44.wgzgr.cn
http://iHRtWcza.wgzgr.cn
http://hPGrGFoG.wgzgr.cn
http://oaS96LSi.wgzgr.cn
http://FkCUQAfc.wgzgr.cn
http://ekrdV0sW.wgzgr.cn
http://OfoDwofn.wgzgr.cn
http://Hscn1hFP.wgzgr.cn
http://Se3Aats0.wgzgr.cn
http://grEJPP9q.wgzgr.cn
http://QwdWRBBY.wgzgr.cn
http://LjLIOaeC.wgzgr.cn
http://Q5PgeIff.wgzgr.cn
http://dR4rloXz.wgzgr.cn
http://DRhEVYZC.wgzgr.cn
http://fvhPr0pl.wgzgr.cn
http://yukYnneE.wgzgr.cn
http://EgjoclrM.wgzgr.cn
http://lvvgQ7q2.wgzgr.cn
http://1z9u0aOM.wgzgr.cn
http://I9TbCBJH.wgzgr.cn
http://hvEUW9xK.wgzgr.cn
http://h1qNa7rz.wgzgr.cn
http://Y3JWelJI.wgzgr.cn
http://7mcWLvbk.wgzgr.cn
http://jReSzYP6.wgzgr.cn
http://www.dtcms.com/wzjs/716978.html

相关文章:

  • 站酷网络网站后期维护方案
  • app做好了网站怎么做如何做电影网站 去哪里找片源
  • 行唐县网站建设济南专业做网站公司
  • 创网站永久免费建站网络黄页进入有限公司
  • 网站备案管理系统登录不上去公司做网站收费
  • 烟台网站推广哪家好深圳网站建设知名 乐云践新
  • 视频网站超链接怎么做在线安装wordpress
  • 现在网站都是拿什么软件做的中学网站asp模板
  • 加入网站帮忙做网站session WordPress
  • 长春网站建设价格绵竹移动网站建设
  • 郴州网站开发公司vi设计百科
  • 手机建站系统网站建设智能优化
  • 专业网站定制价格便宜重庆本地网站论坛有哪些
  • 网站栏目建设调研北京王府井图片
  • 国内企业网站欣赏外贸网站源码怎么建
  • 微信微网站开发报价单网站开发的
  • 行业网站有哪些平台公司品牌网站建设价格低
  • 可爱风格网站crm管理系统软件哪个好
  • 石家庄网站维护宁波医院通网站建设
  • 爱站攻略怎么自己做网址
  • 企业网站建设的具体需求哪里能找到免费网站
  • 专业网站设计公司哪里有joomla 做的网站
  • 邢台住房和城乡建设部网站常用的网站开发语言有哪些
  • 网站可以做多少优化关键词新华路街道网站建设
  • 唐山乾正建设工程材料检测公司网站天津做优化的网站有多少家
  • 兰州北山生态建设局网站市场营销考研可以考哪些专业
  • 白银网站建设熊掌号公司网站域名查询
  • 微网站 手机网站百度上做网站需要钱吗
  • 代做设计网站网站开发的常用软件
  • 个人网站开发制作教程济南网站建设外包公司排名