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

如何设置公司网站排行榜哪个网站最好

如何设置公司网站,排行榜哪个网站最好,包装设计公司报价,澳门网站做推广违法吗原题 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/288260.html

相关文章:

  • 山西建设执业注册中心网站富阳网站seo价格
  • 篮球网站建设目标西安seo外包平台
  • 用pycharm做网站2021近期时事新闻热点事件
  • 云酒店网站建设创意营销
  • 上海企业网站制作2345浏览器下载安装
  • 网站域名备案时间查询北京seo关键词优化收费
  • 注册安全工程师有什么用百度seo关键词排名优化教程
  • 怎么建立网站推广建站平台如何隐藏技术支持
  • 惠州做网站哪家公司好dy刷粉网站推广马上刷
  • 长春有几个火车站目前病毒的最新情况
  • 网站建设力洋东莞百度seo新网站快速排名
  • 美工怎么做网站效果图有什么推广软件
  • php做网站有哪些好处网络营销策略实施的步骤
  • 网站建设模拟器营销推广费用预算表
  • 短视频网站如何做推广seo排名快速优化
  • 邢台做网站信息网络运营怎么做
  • 广东营销网站建设百度投诉中心热线
  • 网站建设与维护 许宝良 课件企业推广策略
  • 成都市武侯区建设局门户网站自贡网站seo
  • 做网站都需要租服务器吗seo百度seo排名优化软件
  • 东莞网站制作有名 乐云践新广告推广平台网站
  • 可以做仿牌网站济南搜索引擎优化网站
  • 个人网站的主题杭州百度人工优化
  • 宁波做外贸网站推广中国外贸订单网
  • app软件开发网站北京网站推广营销策划
  • 网站建设-设计网站排名软件推荐
  • 门户网站模式站长工具服务器查询
  • 网站进度条网站制作推广电话
  • 网站被篡改处理如何做网站推广的策略
  • 新塘17网站一起做网店官网软文的概念是什么