TouchStone
  请登录后使用
登录 注册
 系统首页  练习题库  考试列表  判题结果  信息发布  解题排行
  • 首页
  • 题库
  • P3347
  • 题目
  • P3347劳动节植树2
    限制 : 时间限制 : 20000 MS   空间限制 : 524288 KB  SPJ
    评测说明 : 2s,512MB
    问题描述

    劳动节时就应该植树,就像植树节的时候应该劳动一样。

    nodgd种了一棵树,树上有 \(N\) 个节点和 \(N-1\) 条边。nodgd希望给每个节点标注一个权值 \(p_1,\dots,p_N\) ,满足如下条件:

    • 每个节点权值互不相同,且都是 $1\sim N$ 范围内的整数;
    • 树上任意一对距离为 $3$ 的节点,它们的权值之和或者权值乘积,至少有一个是 $3$ 的倍数。

    nodgd的树格外茂盛,以至于标注满足需求的权值非常困难,所以希望你写个程序来帮忙。

    输入格式

    第一行一个整数 \(N\)
    第二行起的接下来 \(N-1\) 行,每行两个整数 \(a_i,b_i\) ,表示树的一条边。

    输出格式

    如果无解,输出一行一个整数 \(-1\)
    否则,输出一行 \(N\) 个整数,第 \(i\) 个数是节点 \(i\) 的权值 \(p_i\)

    提示

    输入输出样例1

    样例输入
    5
    1 2
    1 3
    3 4
    3 5
    
    样例输出
    1 2 5 4 3
    

    树上距离为 $3$ 的点有两对: \((2,4),(2,5)\) 。其中 \(p_2+p_4=6\)\(p_2\times p_5=6\) 。所以这组权值符合要求。

    数据规模与约定

    对于20%的数据, \(N\leq 10\)
    对于40%的数据, \(N\leq 300\)
    对于另外20%的数据,树上的每条边连接的两个节点编号都相差 $1$ ,树是一条链;
    对于另外20%的数据,树上距离最远的两个节点的距离为 $3$ ;
    对于100%的数据,$2\leq N\leq 2\times 10^5$ , $1\leq a_i,b_i\leq N$ 。


    来源  Atcoder HPC2020 C