#P15568. [COCI 2025/2026 #5] 摆放 / Slaganje

    ID: 15474 远端评测题 1000ms 512MiB 尝试: 0 已通过: 0 难度: 9 上传者: 标签>Special JudgeO2优化构造COCI(克罗地亚)2026

[COCI 2025/2026 #5] 摆放 / Slaganje

题目背景

本题满分 110110

题目描述

Malnar 先生订购了一棵有 NN 个点的树,点标号为 1,2,,N1,2,\dots,N。不幸的是由于沟通失误,他收到了总共 NN 棵这样的树。

在等待回复期间,他把这些树放置在一个同样有 NN 个顶点的正 NN 边形周围,正多边形的顶点也标号为 1,2,,N1,2,\dots,N。更具体地,对于每一棵树,他把树的每个顶点放到多边形的某个顶点上,要求同一份树的不同顶点不能放到同一个多边形顶点。

他很快发现,这样放置后,多边形的所有边与所有对角线都被某些树边“覆盖”了。为了确认这不是巧合,他想重新构造一组放置方式,但太难了,于是请你帮忙。

形式化地,你需要构造整数矩阵 (pij)(p_{ij})1i,jN1 \le i,j \le N),使得:对于每个 i=1,2,,Ni=1,2,\dots,N,序列 pi1,pi2,,piNp_{i1},p_{i2},\dots,p_{iN}1,2,,N1,2,\dots,N 的一个排列;对于任意 1i<jN1 \le i < j \le N,存在一个整数 kk,使得顶点 pkip_{k i}pkjp_{k j} 在原树中有一条边相连。

可以证明对任意树都存在满足条件的构造。

输入格式

第一行包含一个整数 NN3N20003 \le N \le 2000),表示树/多边形的顶点数。

接下来 N1N-1 行,每行包含两个整数 u,vu,v1u,vN1 \le u,v \le N),表示树的一条边。

输出格式

输出 NN 行,第 ii 行输出 pi1,pi2,,piNp_{i1},p_{i2},\dots,p_{iN}

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

提示

【子任务】

子任务 分值 限制
11 1010 存在一个顶点 uu,使得每条边都与 uu 相连
22 1515 N10N \le 10
33 2020 树是一条链
44 2525 N300N \le 300
55 4040 无额外限制