编程题
### 问题描述 在现代社会,随着通讯技术的高速发展,牛郎和织女不再依赖每年七夕才能相见,他们可以通过微信每天保持联系。 玩转微信的牛郎还建立了一个微信群,群里成员都是帮助过他们的喜鹊。 现在已知这个微信群里有 $n$ 个成员,分别用 $1, 2, \ldots, n$ 来标记。成员之间共有$n-1$ 对朋友关系,这些关系形成了一棵树结构。 为了更好地组织交流,牛郎想请你帮他计算出每个成员的“朋友的朋友”数量。具体来说,对于每个成员 $i = 1, 2, \ldots, n$,请你计算与该成员的距离为 $2$ 的其他成员的数量(“距离”是指在树中两个成员之间直接相连的边的数量)。 ### 输入格式 第一行包含一个整数 $n$($2\leq n \leq 2\times 10^5$),表示微信群成员的数量。 接下来 $n - 1$ 行,每行包含两个整数 $u$ 和 $v$($1\leq u,v \leq n$,$u\neq v$),表示成员 $u$ 和成员 $v$ 之间存在朋友关系。 ### 输出格式 输出一行,包含 $n$ 个整数。第 $i$ 个整数表示成员 $i$ 的“朋友的朋友”的数量。 ### 样例输入 ```text 5 1 2 1 3 1 4 2 5 ``` ### 样例输出 ```text 1 2 2 2 1 ``` ### 样例说明 ![图片描述](https://dn-simplecloud.shiyanlou.com/questions/uid1331660-20240730-1722328228765) - 成员 $1$ 的“朋友的朋友”有:成员 $5$。 - 成员 $2$ 的“朋友的朋友”有:成员 $3$、成员 $4$。 - 成员 $3$ 的“朋友的朋友”有:成员 $2$、成员 $4$。 - 成员 $4$ 的“朋友的朋友”有:成员 $2$、成员 $3$。 - 成员 $5$ 的“朋友的朋友”有:成员 $1$。
查看答案
赣ICP备20007335号-2