P6431 [COCI 2008/2009 #1] KRTICA
题目描述
有一棵 $n$ 个点的树,边权都为 $1$。
现在想删去一条边,增加一条边,使得最远的两个点距离最短。
输入格式
第一行为一个整数 $n$。
接下来 $n-1$ 行,每行两个整数 $a$ 和 $b$,表示有树上有一条从 $a$ 到 $b$ 的无向边。
输出格式
**本题存在 SPJ**。
第一行只有一个整数,表示删去一条边,增加一条边后最远的两个点的距离。
第二行两个整数,表示被删掉的一条边。
第三行两个整数,表示被增加的一条边。
说明/提示
#### 数据规模与约定
- 对于 $40\%$ 的数据,保证 $n\le 30$。
- 对于 $70\%$ 的数据,保证 $n\le 3\times 10^3$。
- 对于 $100\%$ 的数据,保证 $1\le n \le 3\times 10^5$,$1\le a,b\le n$。
---
#### 计分标准
- 如果输出的第一行不正确,得 $0$ 分。
- 如果输出得第一行正确,但是剩下的数字不正确或数量不足四个,得对应测试点 $70\%$ 的分数。
- 如果输出第一行正确,且给出的方案是可行且正确的,得到对应测试点 $100\%$ 的分数。
---
#### 说明
本题译自 [Croatian Open Competition in Informatics 2008/2009](https://hsin.hr/coci/archive/2008_2009) [Contest #1](https://hsin.hr/coci/archive/2008_2009/contest1_tasks.pdf) T6 KRTICA。
SPJ provided by @Tweetuzki