#P16310. [ICPC 2023 Jinan R] 开灯 2

[ICPC 2023 Jinan R] 开灯 2

题目描述

:::epigraph Lux et Veritas

(光明与真知) :::

受期待的宇宙杯(Universal Cup)决赛即将来临!小青鱼正在忙着准备比赛的场地。为了使得场地炫彩夺目,小青鱼计划悬挂一些电灯泡。

小青鱼有 mm 根电线,并打算用这些电线连接 nn 个灯泡。每根电线需要连接两个不同的灯泡,并使得所有灯泡形成一个连通块。为了安全起见,任意两个灯泡之间最多只能有一根电线把它们直接连起来,且每个灯泡最多只能连接 dd 根电线。

连接好灯泡后,小青鱼想要点亮其中一些灯泡。考虑到亮着的灯泡会产生热量,让两个相邻的灯泡同时点亮可能会有危险。因此,如果两个灯泡之间直接通过电线连接,则它们不能同时被点亮。另一方面,他也不想让灯光太少,所以他不希望看到一个灯泡没亮,且与之直接连接的所有灯泡也都没亮。

小青鱼非常好奇在这些限制条件下,能有多少种不同的方案来点亮这些灯泡。此外,他还想找到一种连接所有灯泡的方式,使得点亮灯泡的方案数量最大化。

给定整数 mmdd,您的目标是协助小青鱼来确定使用所有 mm 根电线连接 nn 个灯泡的最佳方式,最大化点亮灯泡的方案数。请注意,您需要自行确定 nn 的值。

输入格式

有多组测试数据。第一行输入一个整数 TT1T2001 \leq T \leq 200)表示测试数据组数,对于每组测试数据:

第一行输入两个整数 mmdd2m202 \le m \le 202dm2 \le d \le m)。

输出格式

对于每组测试数据:

第一行输出一个整数 ww1w2m+11 \leq w \leq 2^{m+1}),表示最多可以有多少种方法点亮灯泡。

第二行输出一个整数 nn1nm+11 \leq n \leq m+1),表示小青鱼需要使用的灯泡数量。

接下来输出 mm 行,其中第 ii 行输出两个由单个空格分隔的整数 uiu_iviv_i1ui,vin,uivi1 \le u_i, v_i \le n, u_i \neq v_i),表示一条连接第 uiu_i 个灯泡与第 viv_i 个灯泡的电线。

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

提示

我们用涂色的圆圈代表点亮的灯泡。

对于第一组样例数据,22 种点亮灯泡的方案如下图所示。

:::align{center} :::

对于第二组样例数据,55 种点亮灯泡的方案如下图所示。

:::align{center} :::