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

华为云助力企业网站安全保障怎样做品牌推广

华为云助力企业网站安全保障,怎样做品牌推广,做网站淘宝条形码,seo网络推广是什么意思原题 1021 Deepest Root - PAT (Advanced Level) Practice 题目大意 给定一个连通且无环的图(即树),树的高度取决于根节点的选择。请找出能使树的高度最大的所有根节点(称为“最深根”)。若给定的图不是树&#xff…

原题

1021 Deepest Root - PAT (Advanced Level) Practice

题目大意

给定一个连通且无环的图(即树),树的高度取决于根节点的选择。请找出能使树的高度最大的所有根节点(称为“最深根”)。若给定的图不是树(即不连通),需输出连通分量的数量。

解题思路

先找连通分量的数量,利用bfs遍历所有点,标记已经遍历的点,调用函数bfs的次数就是连通分量的个数。

若为树,利用两次bfs和无序集合unordered_set来保存使树深度最大的点,只用一次bfs有可能遇到如图情况:假设我们从G点开始遍历,M点就不会进入答案,因此我们先遍历一次,找到最远的为B,再从B开始遍历,找到M。

代码(c++)

#include <bits/stdc++.h>
#include <algorithm>
#include <vector>
#include <queue>
#include <unordered_set>using namespace std;const int N = 10010;int n;
vector<vector<int>> graph(N);          // 模拟邻接表
vector<bool> visited(N, false);vector<int> bfs(int start, const vector<vector<int>>& graph, int n) {vector<int> depth(n + 1, -1);      // 记录每个点的深度queue<int> q;q.push(start);depth[start] = 0;int max_depth = 0;                 // 动态记录最深的深度while (!q.empty()) {int u = q.front();q.pop();for (int v : graph[u]) {if (depth[v] == -1) {depth[v] = depth[u] + 1;max_depth = max(max_depth, depth[v]);q.push(v);}}}vector<int> res;for (int i = 1; i <= n; ++i) {if (depth[i] == max_depth) {res.push_back(i);}}return res;
}int main() {cin >> n;for(int i = 0; i < n - 1; i++) {int u, v;cin >> u >> v;graph[u].push_back(v);graph[v].push_back(u);}int components = 0;for (int i = 1; i <= n; ++i) {if (!visited[i]) {components++;queue<int> q;q.push(i);visited[i] = true;while (!q.empty()) {int u = q.front();q.pop();for (int v : graph[u]) {if (!visited[v]) {visited[v] = true;q.push(v);}}}}}if(components == 1) {// 两次遍历找到所有最深的点vector<int> Y = bfs(1, graph, n);                vector<int> Z = bfs(Y[0], graph, n);unordered_set<int> deepest;for (int y : Y) deepest.insert(y);for (int z : Z) deepest.insert(z);vector<int> ans(deepest.begin(), deepest.end());sort(ans.begin(), ans.end());for (int node : ans) {cout << node << endl;}}else cout << "Error: "<< components << " components";
}

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

相关文章:

  • 贵州省建设厅公示网站免费域名注册申请
  • 亿唐网不做网站做品牌原因深圳十大教育培训机构排名
  • 网站建设合同违约条款中国联通腾讯
  • 做seo网站网络推广应该怎么做啊
  • 一个网站的建设需要哪些流程友情链接怎么设置
  • 网站制作网站建设西安seo高手
  • 宁夏百度网站怎么做怎样精准搜索关键词
  • 各大网站开发语言如何自己开发网站
  • 网络营销推广策划案桂林seo排名
  • 石家庄建设网武汉seo广告推广
  • wordpress播放没声音广州抖音seo公司
  • 服务器可以吧网站做跳转吗2345网址导航下载桌面
  • wordpress登陆链接seo服务商排名
  • 怎样快速仿做网站系统开发
  • 网站制作公司中磁力屋 最好用
  • 工信部网站备案查询官网上海网络推广平台
  • 济宁网站建设_云科网络哪里有永久免费建站
  • 福清做网站的公司关键词林俊杰mp3下载
  • wordpress研究机构主题品牌网络seo方案外包
  • 湖南网站建设360oapp拉新一手渠道
  • php怎么做搭建网站糕点烘焙专业培训学校
  • 怎么做网站鹅蛋生蚝哈市今日头条最新
  • 网站背景素材网络运营工作内容
  • 南京的网站建设公司怎么做百度推广的代理
  • 做百度网站好吗百度排名服务
  • 广州十大网站建设打字赚钱平台 学生一单一结
  • 怎么做网站推广怎么样如何自己免费制作网站
  • 咋样查看网站用什么编程语言做的百度seo优化方法
  • 网站建设预览产品网络推广深圳
  • 广告设计网站建设怎么做湖南有实力seo优化