#L6066. 「2017 山东一轮集训 Day3」第二题

「2017 山东一轮集训 Day3」第二题

题目描述

给你一个 nn,请你输出 1n1 \sim n# 「2017 山东一轮集训 Day3」第二题

传统 1000 ms 512 MiB

146146 通过 528528 提交

题目描述

对于一棵有根树,定义一个点 uuk-k\text{-}子树为 uu 的子树中距离 uu 不超过 kk 的部分。注意,假如 uu 的子树中不存在距离 uukk 的点,则 uuk-k\text{-}子树是不存在的。

定义两棵子树是相同的,当且仅当不考虑点的标号时,他们的形态是相同的(儿子的顺序也需要考虑)。给定一棵 nn 个点,点的标号在 [1,n][1, n],以 11 为根的有根树。问最大的 kk,使得存在两个点 uvu \neq v,满足 uuk-k\text{-}子树与 vvk-k\text{-}子树相同。

输入格式

第一行输入一个正整数 nn

接下来读入 nn 个部分,第 ii 个部分描述点 ii 的儿子,且以顺序给出。

每个部分首先读入一个整数 xx,代表儿子个数。接下来 xx 个整数,代表从左到右儿子的标号。

输出格式

输出一个整数 kk,代表最大的合法的 kk

样例

输入

8
1
2
2
3 4
0
1
5
2
6 7
0
1
8
0

输出

3

数据范围与提示

对于 20%20\% 的数据,n100n \leq 100
对于 40%40\% 的数据,n2000n \leq 2000
对于 60%60\% 的数据,n30000n \leq 30000
对于 100%100\% 的数据,n100000n \leq 100000,保证给出的树是合法的。。

输入格式

一个数 nn

输出格式

一行 nn 个数,为 1n1 \sim n

5
1 2 3 4 5

数据规模与约定

对于 100%100\% 的数据,0n1070 \le n \le 10^7