#P1104. 【模板】树的 DFS(深度与子树大小)

    ID: 116 传统题 1000ms 256MiB 尝试: 0 已通过: 0难度: 普及 ← 上一题 下一题 → 随机一题 上传者: 标签 模板题 深度优先搜索 DFS 树 树的遍历 递归
显示设置

【模板】树的 DFS(深度与子树大小)

题目描述

给定一棵 nn 个结点的无根树,结点编号 1∼n1\sim n,边用「连接的两个端点」描述。我们规定 11 号结点是根,并且按照「越靠近根深度越小」来定义深度:根的深度为 00,其余结点的深度为其父结点深度加一。

对每个结点 uu,再定义它的子树大小 szusz_u:以 uu 为根的子树(也就是 uu 以及 uu 的所有后代)里的结点个数。

请你求出每个结点的深度和子树大小。

输入格式

第一行一个整数 nn。

接下来 n−1n-1 行,每行两个整数 u,vu,v,表示结点 uu 与结点 vv 之间有一条边。保证这些边构成一棵树。

输出格式

共 nn 行。第 ii 行两个整数,依次表示结点 ii 的深度和子树大小,中间用一个空格隔开。

输入输出样例 #1

输入 #1

5
1 2
1 3
2 4
2 5

输出 #1

0 5
1 3
1 1
2 1
2 1

说明

数据范围

  • 对于 100%100\% 的数据,1≤n≤1051\le n\le 10^5。