D. [R32D]还原树

    Type: Default 1000ms 512MiB

[R32D]还原树

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

时空限制

1S/512M

题目描述

apiadu 曾经拥有一棵包含 nn 个节点的有根树,节点编号为 11nn。然而,这棵树的原始父子关系现在已经丢失。

幸运的是,apiadu 还保留着一个完整的 n×nn \times n 矩阵 LL,其中 Li,jL_{i ,j } 记录了原始树中节点 ii 与节点 jj 的最近公共祖先 (LCA)。

已知对于任意两个节点 uuvv,它们的最近公共祖先 ww 满足:

  • wwuuvv 的共同祖先;

  • 在所有共同祖先中,ww 的深度最大。

注意:每个节点也是其自身的祖先。

请你帮助 apiadu 根据这个矩阵,输出原来的有根树的每个节点的父亲,其中根节点的父亲设为 1-1。保证树存在。

格式

输入格式

输入的第一行包含一个整数 nn,表示树的节点数量。

接下来 nn 行,每行包含 nn 个整数。其中第 ii 行第 jj 列的数表示 Li,jL_{i,j}

输出格式

输出一行,包含 NN 个用空格隔开的整数 p1,p2,,pnp_1, p_2, \ldots, p_n,其中 pip_i 表示节点 ii 的父节点(根节点的父亲为 1-1)。

样例

样例输入 #1

4
1 1 1 1
1 2 1 2
1 1 3 1
1 2 1 4

样例输出 #1

-1 1 1 2

样例解释 #1

样例表示的树如下:

数据规模

对于 30%30\% 的数据,1n51 \leq n \leq 5

对于 100%100\% 的数据,1n10001 \leq n \leq 1000。保证输入的矩阵是合法的,并且能够唯一确定一棵有根树的结构。

代码源挑战赛 Round 32

Not Attended
Status
Done
Rule
DMY
Start at
2025-10-3 20:00
End at
2025-10-3 21:30
Duration
1.5 hour(s)
Host
Partic.
294