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

B4016 树的直径

B4016 树的直径 - 洛谷

题目描述

给定一棵 n 个结点的树,树没有边权。请求出树的直径是多少,即树上最长的不重复经过一个点的路径长度是多少。

输入格式

第一行输入一个正整数 n,表示结点个数。
第二行开始,往下一共 n - 1 行,每一行两个正整数 (u, v),表示一条边。

输出格式

输出一行,表示树的直径是多少。

输入输出样例

输入 #1输出 #1
5
1 2
2 4
4 5
2 3
3

说明/提示

数据保证,1≤n≤1e5

代码:

#include<bits/stdc++.h>
using namespace std;
int n, start, step; 
vector<int> G[100000];  void dfs(int cur, int fa, int cnt) {if (cnt > step) {start = cur;step = cnt;}for (auto to : G[cur]) {  if (to == fa) continue;dfs(to, cur, cnt + 1);}
}int main() {cin >> n;for (int i = 1; i < n; i++) { int u, v;cin >> u >> v;G[u].push_back(v);G[v].push_back(u); }dfs(1, -1, 0);step = 0; dfs(start, -1, 0);cout << step << endl;return 0;
}

http://www.dtcms.com/a/279680.html

相关文章:

  • 阿尔卡特ASM180TD181TD氦检漏器ALCATEL
  • 使用dify生成测试用例
  • 【第一章编辑器开发基础第二节编辑器布局_3间距控制(4/4)】
  • OpenCV C++ 中的掩码(Mask)操作
  • 微服务初步入门
  • 设计模式之适配器模式:让不兼容的接口协同工作的艺术
  • Unreal5从入门到精通之如何实现UDP Socket通讯
  • 【C++进阶】---- 多态
  • 解锁文档处理新体验:Python库Agentic Document Extraction
  • OneCode3.0 通信架构简介——MCPServer微内核设计哲学与实现
  • Web学习笔记4
  • 算法训练营day16 513.找树左下角的值、112. 路径总和、106.从中序与后序遍历序列构造二叉树
  • 探索 Sort.h:多功能排序算法模板库
  • [element-ui]el-table在可视区域底部固定一个横向滚动条
  • 智源全面开源RoboBrain 2.0与RoboOS 2.0:刷新10项评测基准,多机协作加速群体智能
  • MCP 第三波升级!Function Call 多步调用 + 流式输出详解
  • QWidget 和 QML 的本质和使用上的区别
  • 慢查询日志监控:定位性能瓶颈的第一步
  • 【抖音滑动验证码风控分析】
  • 小架构step系列14:白盒集成测试原理
  • C# TCP粘包与拆包深度了解
  • spark广播表大小超过Spark默认的8GB限制
  • FatJar打包和FatJar启动配置文件修改。
  • pattern of distributed system 读书笔记-Overview of the Patterns
  • Rsyslog介绍及运用
  • JAVA并发--深入了解CAS机制
  • VirtualBox 安装 CentOS7 后无法获取 IP 的排查与修复
  • 网络请求和下载
  • 在Adobe Substance 3D Painter中,已经有基础图层,如何新建一个图层A,clone基础图层的纹理和内容到A图层
  • Zabbix在MySQL性能监控方面的运用