CF1003E Tree Constructing

题目描述

给定三个整数 $n$、$d$ 和 $k$。 你的任务是构造一棵有 $n$ 个顶点的无向树,使其直径为 $d$,且每个顶点的度数不超过 $k$,或者判断这是不可能的。 无向树是一个连通的无向图,包含 $n-1$ 条边。 树的直径是该树中所有点对之间简单路径(即每个顶点最多出现一次的路径)的最大长度。 顶点的度数是与该顶点相连的边的数量(即对于顶点 $u$,是属于树的所有边 $(u, v)$ 的数量,其中 $v$ 是树中的任意其他顶点)。

输入格式

输入的第一行包含三个整数 $n$、$d$ 和 $k$($1 \le n, d, k \le 4 \cdot 10^5$)。

输出格式

如果不存在满足条件的树,只需输出一行 "NO"(不带引号)。 否则,第一行输出 "YES"(不带引号),接下来输出 $n-1$ 行,每行描述树中的一条边。树的顶点编号为 $1$ 到 $n$。你可以按任意顺序输出边以及边所连接的顶点。如果有多种答案,输出任意一种即可。

说明/提示

由 ChatGPT 4.1 翻译