城市改建
时间限制:15s 空间限制:256MB
题目描述
cs城由n座美丽的小镇组成,小镇之间通过n-1条公路连接,任意两个小镇都能互达。尽管如此,居民还是会向他们的负责人yy抱怨:两座小镇之间的距离(经过的公路数)太远了!yy体恤民情,打算重建城市。yy认为,n-1条公路足矣,丝毫没有浪费,他决定依旧保持这个结构。并且,yy并不打算大兴土木,因此他只会拆除一条公路再新建一条公路。
作为yy的助理,你需要帮他计算出重建城市后最远的两座小镇距离最近是多少(若存在两个小镇不能互达,则距离为无穷远),并给出任意一组合法方案。
输入格式
输入的第一行包含一个整数n。接下来n-1行,每行两个整数a、b,代表一条公路。
输出格式
输出3行。第一行包含一个整数,表示重建后最远的两座小镇的最近距离。第二行包含两个整数,代表拆除的公路。第三行包含两个整数,代表新建的公路。
样例输入
4 1 2 2 3 3 4 样例输出 2 3 4 4 2
样例输出
数据规模和约定 20%的数据满足:n≤30 60%的数据满足:n≤3000 100%的数据满足:1≤n≤300000、1≤a、b≤n 保证输入数据合法 Note:如果输出第一行正确,后两行有误或缺失,你可以得到该测试点40%的分数
提示
如果有人愿意写special judge程序,请留言给lavendir
题目来源
没有写明来源