TouchStone
  请登录后使用
登录 注册
 系统首页  练习题库  考试列表  判题结果  信息发布  解题排行
  • 首页
  • 题库
  • P6605
  • 题目
  • P6605[COI2019] IZLET
    限制 : 时间限制 : - MS   空间限制 : 524288 KB  SPJ
    评测说明 : 6s,512MB
    问题描述

    信息学竞赛选手眼中的树和普通人眼中的树是不同的,但在这道题中,两种都是正确的。

    p6pou热爱大自然,经常在树林里散步。每当他注视着树林中的树木,都会去欣赏树的大小、节点的度数、若隐若现的规律等等。在舒适的春天里,p6pou更加的被树木所吸引——树木展现出了不同的颜色!

    有一天,p6pou观察到一棵有$N$个节点的树,树上每个节点都有一种颜色。因为某些不可名状的原因,p6pou盯着这棵树看了很长时间,并写下了一个$N\times N$的矩阵。对于树上任意两个节点间的简单路径,p6pou都在矩阵的对应位置记录了路径上不同颜色数量(包括端点)。可惜的是,p6pou专注于欣赏这棵树,只记录下了这个矩阵,没有记录下这个树的形态。

    p6pou需要你的帮助,根据这个矩阵中的数据来确定树的形态和每个节点的颜色,颜色用$1\sim N$的整数表示。p6pou可以向你保证,他记录的矩阵一定是对的,换句话说,一定存在一棵符合条件的树。

    输入格式

    第一行一个整数,表示子任务的编号,数值可能为$1,2,3$。

    第二行一个整数$N(1\leq N\leq 3000)$,表示树的节点数量。节点编号为$1,2,\dots,N$。

    接下来是一个$N$行$N$列的矩阵,第$i$行第$j$列的数表示节点$i$和节点$j$路径上的不同颜色数量。

    输出格式

    第一行输出$N$个空格间隔的整数,依次是每个节点的颜色,颜色应当是$1\sim N$的整数。

    接下来$N-1$行,每行有两个整数$A,B$,表示树的一条边。边、同一条边两个端点都可以按任意的顺序输出。

    样例输入 1

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

    样例输出 1

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

    样例输入 2

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

    样例输出 2

    1 2 3 2
    1 2
    2 3
    3 4

    样例输入 3

    1
    5
    1 2 2 2 2
    2 1 1 2 2
    2 1 1 2 2
    2 2 2 1 2
    2 2 2 2 1

    样例输出 3

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

    提示

    子任务1(18分)对于20%的数据:矩阵中所有数都是$1$或$2$;
    子任务2(25分)对于28%的数据:当树的形态是$N-1$条边都连接编号相差$1$的两个节点时,存在符合题意的染色方案;
    子任务3(57分)对于52%的数据:没有额外限制。
    (本题有25个测试点,每个测试点4分。除了上述特殊限制外,$n$的大小无梯度)

    本题评测需要花费的时间较长(例如nodgd的程序测了5min才测完),请尽量确保AC再提交(例如先去LOJ上AC了再来NKOJ提交),以减轻评测机工作压力。