CF1205D Almost All

题目描述

给定一棵有 $n$ 个节点的树。你需要在树的每条边上写上非负整数,使得满足以下条件: 对于任意两个节点 $i$ 和 $j$,考虑它们之间的路径,并计算该路径上所有边的数字之和。将所有得到的和写在黑板上。要求从 $1$ 到 $\lfloor \frac{2n^2}{9} \rfloor$ 的每一个整数都至少出现在黑板上一次。 保证一定存在一种满足条件的方案。

输入格式

第一行包含一个整数 $n$($1 \le n \le 1000$),表示节点数。 接下来的 $n-1$ 行,每行包含两个整数 $u$ 和 $v$($1 \le u, v \le n$,$u \neq v$),表示在节点 $u$ 和 $v$ 之间有一条边。保证这些边构成一棵树。

输出格式

输出 $n-1$ 行,每行格式为 $u$ $v$ $x$($0 \le x \le 10^6$),表示你在 $u$ 和 $v$ 之间的边上写了数字 $x$。 输出的边集 $(u, v)$ 必须与输入图的边集完全一致,但输出顺序可以任意。边的两个端点顺序也可以与输入不同。

说明/提示

在第一个样例中,节点 $1$ 和 $2$ 之间的距离为 $2$,节点 $2$ 和 $3$ 之间的距离为 $1$,节点 $1$ 和 $3$ 之间的距离为 $3$。 在第三个样例中,黑板上会写下从 $1$ 到 $9$(包含 $9$)的数字,而只需要从 $1$ 到 $5$ 即可通过测试。 由 ChatGPT 4.1 翻译