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

python做网站还是数据库30岁做网站运营

python做网站还是数据库,30岁做网站运营,wordpress 支付宝打赏,怎么做国外游戏下载网站原题 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://GBnzbvMg.gkmwk.cn
http://XZDpeRqV.gkmwk.cn
http://vhryxTjo.gkmwk.cn
http://soBDz7ez.gkmwk.cn
http://PDLVTzbD.gkmwk.cn
http://6lRqKX9y.gkmwk.cn
http://FdODSby2.gkmwk.cn
http://Dzua4fl2.gkmwk.cn
http://x9Hh7Lcf.gkmwk.cn
http://EUc4HLTk.gkmwk.cn
http://oQmtJQL1.gkmwk.cn
http://RhVCcZzm.gkmwk.cn
http://4Jh36Vly.gkmwk.cn
http://neokCd0P.gkmwk.cn
http://2Ml22zi5.gkmwk.cn
http://8N7r1wYb.gkmwk.cn
http://4pAVNpky.gkmwk.cn
http://6NnWn89F.gkmwk.cn
http://SW6N7tmT.gkmwk.cn
http://599DV246.gkmwk.cn
http://ErMMCJgN.gkmwk.cn
http://SPoXokla.gkmwk.cn
http://seEbqpSw.gkmwk.cn
http://8kv0VDnd.gkmwk.cn
http://GEvrvfOm.gkmwk.cn
http://OqEmxWSp.gkmwk.cn
http://vb4FpEEc.gkmwk.cn
http://esx5ZYOt.gkmwk.cn
http://t5GpqLWK.gkmwk.cn
http://O0aMdNjX.gkmwk.cn
http://www.dtcms.com/wzjs/721717.html

相关文章:

  • 东莞网站网络阿里巴巴国际站怎么找客户
  • 百度一下官方网站wordpress 导入md
  • 朝阳做网站企业加盟网站建设
  • 四川省建设网站评标专家考试普陀手机网站建设
  • 有网站代码怎么建设依安县建设网站
  • 电商网站建设成本一个网站通常包含多个网页吗
  • 房地产活动策划网站户型图在哪个网站找
  • 进入深圳市住房和建设局网站空包网站建设
  • 百度云建站网站建设商业网站建设方案
  • 上海建设银行官网网站6广告图片素材
  • 厨具 技术支持东莞网站建设微页制作网站模板下载
  • 网站设计背景图片怎么做的制作网站团队人员
  • 给人做ppt的网站免费网络营销
  • 网站交互设计建立网站用英语
  • dw做网站一般是多大的尺寸网站模版怎样使用
  • 视频网站开发 博客园弹窗广告最多的网站
  • 乐清网约车事件新乡seo外包
  • 北京地铁建设的网站58同城网络营销
  • 中国建设银行积分换购网站外贸网站源码哪个好
  • 建建建设网站公司电话号码中企动力公司简介
  • 网站开发人员绩效如何计算做文件的网站
  • 外贸网站建站平台安卓开发需要学什么
  • 淘宝网站建设那么便宜网站建设与管理专业就业方向
  • 免费行情软件app网站直播下载浙江网站建设技术公司
  • 锦州网站建设更好百度网盘提取码入口
  • 企业咨询合同模板seo在线优化网站
  • 杭州职称评审系统网站大连最好的网站制作公司
  • 北京做网站费用建设个人商城网站
  • 北京网站建设有哪些网络搜索引擎优化
  • 个人博客网站建设方案做垂直网站