题目描述
给定一棵有 个结点的无向树,结点编号为 。树中两个结点之间的距离定义为连接它们的简单路径上的边数,树的直径则是树上距离最远的两个结点之间的距离。
现在有 组互相独立的测试数据,请你分别求出每一棵树的直径。
输入格式
第一行一个正整数 ,表示测试数据的组数。
接下来依次给出每组测试数据:
- 第一行一个正整数 ,表示结点数;
- 若 ,则接下来 行,每行两个正整数 ,表示结点 与结点 之间有一条边。
输出格式
共 行,每行一个整数,依次表示每组测试数据中树的直径(即边数)。
样例
输入:
2
5
1 2
2 3
3 4
4 5
3
1 2
1 3
输出:
4
2
样例说明:
- 第一组数据是一条 的链,最远的两个结点是 和 ,距离为 条边;
- 第二组数据是一个以 为中心的星形树,最远的两个结点是 和 ,距离为 条边。
数据范围
- ;
- ;
- ,保证每组给出的 条边恰好构成一棵树;
- 当 时没有边,此时树的直径为 。