#g6006. [GESP6级模拟题]快递中心

[GESP6级模拟题]快递中心

题目背景

快递公司在 nn 个小区之间铺设了 n1n-1 条双向快递通道,保证任意两个小区之间都能通过通道相互到达(形成一棵树)。

公司计划将其中一个小区升级为"区域配送中心"。配送中心到其他小区的总距离越短,运营成本越低。

为了科学决策,公司需要知道:如果选择每个小区作为配送中心,分别需要行驶的总距离是多少。

题目描述

给定一棵 nn 个节点的树,节点编号 1n1 \sim n,每条边的长度均为 11

对于每个节点 ii1in1 \le i \le n),计算它到所有其他节点的距离之和。

输入格式

第一行一个正整数 nn,表示节点个数。

接下来 n1n-1 行,每行两个整数 u,vu, v,表示节点 uuvv 之间有一条边。

输出格式

输出一行 nn 个整数,第 ii 个整数表示从节点 ii 出发到所有其他节点的距离之和。

样例输入

5
1 2
1 3
3 4
3 5

样例输出

6 9 5 8 8

样例解释

树的形态如下:

    1
   / \
  2   3
     / \
    4   5
  • 节点 11 到各点距离:0+1+1+2+2=60+1+1+2+2 = 6
  • 节点 22 到各点距离:1+0+2+3+3=91+0+2+3+3 = 9
  • 节点 33 到各点距离:1+2+0+1+1=51+2+0+1+1 = 5
  • 节点 44 到各点距离:2+3+1+0+2=82+3+1+0+2 = 8
  • 节点 55 到各点距离:2+3+1+2+0=82+3+1+2+0 = 8

数据范围

1n10001 \le n \le 1000