def min_path(n, B): node_list = [0] * (n + 1) # 保存节点的距离 for path in B: # 遍历路径,使后一节点距离值等于前一节点距离值加一 x, y = path node_list[y] = node_list[x] + 1 depth = 0 # 找到最大深度 for i in range(1, n + 1): if node_list[i] > depth: depth = node_list[i] # 计算最短路径,即最深的路径走一遍,其他路径走2遍 return 2 * n - 2 - depth if __name__ == '__main__': n = int(input().strip()) B = [] # 得到路径列表 for i in range(n - 1): A = [int(i) for i in input().strip().split()] if A[0] > A[1]: A[0], A[1] = A[1], A[0] # 使得第一个元素小于第二个元素 B.append(A) B.sort(key=lambda x: x[0]) # 按第一个元素排序 result = min_path(n, B) print(result)
点赞 2

相关推荐

无敌虾孝子:喜欢爸爸还是喜欢妈妈
点赞 评论 收藏
分享
牛客网
牛客企业服务