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

为什么要建设o2o网站种子搜索在线 引擎

为什么要建设o2o网站,种子搜索在线 引擎,新疆生产建设兵团126团网站,三星单片机开发网站第十一章&#xff1a;图论part02 岛屿数量 深搜 注意深搜的两种写法&#xff0c;熟练掌握这两种写法 以及 知道区别在哪里&#xff0c;才算掌握的深搜。 代码随想录 #include <iostream> #include <vector> using namespace std; int dir[4][2] {0, 1, 1, 0, -1,…

第十一章:图论part02

  1. 岛屿数量 深搜

注意深搜的两种写法,熟练掌握这两种写法 以及 知道区别在哪里,才算掌握的深搜

代码随想录

#include <iostream>
#include <vector>
using namespace std;
int dir[4][2] = {0, 1, 1, 0, -1, 0, 0, -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 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, visited, nextx, nexty);}
}int main() {int n, m;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); }}}cout << result << endl;
}
  1. 岛屿数量 广搜

注意广搜的两种写法,第一种写法为什么会超时, 如果自己做的录友,题目通过了,也要仔细看第一种写法的超时版本,弄清楚为什么会超时,因为你第一次 幸运 没那么想,第二次可就不一定了。

代码随想录

#include <iostream>
#include <vector>
#include <queue>
using namespace std;int dir[4][2] = {0, 1, 1, 0, -1, 0, 0, -1}; // 四个方向
void bfs(const 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();int curx = cur.first;int cury = cur.second;for (int i = 0; i < 4; i++) {int nextx = curx + dir[i][0];int nexty = cury + dir[i][1];if (nextx < 0 || nextx >= grid.size() || nexty < 0 || nexty >= grid[0].size()) continue;  // 越界了,直接跳过if (!visited[nextx][nexty] && grid[nextx][nexty] == 1) {que.push({nextx, nexty});visited[nextx][nexty] = true; // 只要加入队列立刻标记}}}
}int main() {int n, m;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++; // 遇到没访问过的陆地,+1bfs(grid, visited, i, j); // 将与其链接的陆地都标记上 true}}}cout << result << endl;
}
  1. 岛屿的最大面积

本题就是基础题了,做过上面的题目,本题很快。

代码随想录

#include <iostream>
#include <vector>
using namespace std;int count;
int dir[4][2] = {0, 1, 1, 0, -1, 0, 0, -1}; // 四个方向
void dfs(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; // 标记访问过count++;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, visited, nextx, nexty);}
}int main() {int n, m;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 = vector<vector<bool>>(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) {count = 0; // 因为dfs处理当前节点,所以遇到陆地计数为0,进dfs之后在开始从1计数dfs(grid, visited, i, j); // 将与其链接的陆地都标记上 trueresult = max(result, count);}}}cout << result << endl;
}

http://www.dtcms.com/wzjs/76405.html

相关文章:

  • iis6.0不能新建网站摘抄一篇新闻
  • 做游戏陪玩网站谷歌网站收录提交入口
  • 怎么做游戏充值代理网站营销策划经典案例
  • 东莞市企业网站建设平台精准推广
  • 昆明北京网站建设seo优化技术招聘
  • 单页滚动网站新闻类软文
  • 泗阳城乡建设局网站今日头条新闻大事件
  • 开发一个婚恋app需要多少钱专业关键词优化平台
  • 化妆品网站建设需求问卷调查zac博客seo
  • 做哪个网站好陕西疫情最新消息
  • VPS如何做镜像网站批量优化网站软件
  • 端州网站建设查询网官网
  • 玩客云做网站seo标题关键词怎么写
  • 域名解析后怎么做网站产品市场推广计划书
  • 公司名称logo设计西安seo霸屏
  • 云南网站建设找天软企业宣传文案
  • 企业网站多少钱seo刷词
  • 公司网站程序色盲测试图第六版
  • 用http做网站隐藏端口seo自动点击排名
  • Javascript做网站磁力宝最佳搜索引擎入口
  • 包装技术支持 东莞网站建设刷网站软件
  • 营销型网站建设哪家好日本搜索引擎naver入口
  • 企业集团网站建设方案seo怎么快速提高排名
  • wordpress文章链接seo课堂
  • 网站开发与维修是什么意思长沙网站seo外包
  • 莱芜网站建设公众号建设微信朋友圈广告
  • 美食网站怎么做seo优化是什么
  • 郑州网站建设 推广重庆网站
  • 哪里学做网站网络舆情监测与研判
  • 专业网站建设公司兴田德润优惠吗短视频培训机构