#arc161d. [arc161_d]Everywhere is Sparser than Whole (Construction)

[arc161_d]Everywhere is Sparser than Whole (Construction)

问题描述

我们将非空简单无向图的密度定义为$\\displaystyle\\frac{(\\text{边的数量})}{(\\text{顶点的数量})}$。

给定正整数NNDD。判断是否存在一个简单无向图GG,它具有NN个顶点和DNDN条边,并满足以下条件。如果存在这样的图,请找到一个满足条件的图。

条件:VVGG的顶点集。对于VV的任意非空的适当子集XX,由XX引起的子图的密度严格小于DD

什么是引起的子图?

对于图GG的顶点子集XX,由XX引起的子图是具有顶点集XX和边集,其中包含GG中连接两个XX中的顶点的所有边。在上述条件中,请注意我们只考虑既不为空也不是整个集合的顶点子集。

约束条件

  • Ngeq1N \\geq 1
  • Dgeq1D \\geq 1
  • DNleq5times104DN \\leq 5 \\times 10^4

输入格式

输入以以下格式从标准输入给出:

NN DD

输出格式

如果存在满足条件的简单无向图,则输出Yes;否则,输出No。此外,在情况为Yes时,在接下来的DNDN行中以以下格式输出满足条件的图。如果存在多个满足条件的图,则任意一个都被认为是正确的。

A1A_1 B1B_1 A2A_2 B2B_2 vdots\\vdots ADNA_{DN} BDNB_{DN}

  • $1 \\leq A_i, B_i \\leq N \\ \\ (1 \\leq i \\leq DN)$
  • AineqBi(1leqileqDN)A_i \\neq B_i \\ \\ (1 \\leq i \\leq DN)
  • $\\{A_i, B_i\\} \\neq \\{A_j, B_j\\} \\ \\ (1 \\leq i < j \\leq DN)$
  • 图的顶点从11NN进行编号。
  • 输出的第ii行表示第ii条边连接的顶点AiA_i和顶点BiB_i
  • 边的顺序(哪条边被先打印)和顶点的顺序(每条边的哪个端点被先打印)可以是任意的。

示例输入 1

3 1

示例输出 1

Yes
1 2
1 3
2 3

打印的图具有顶点集1,2,3\\{1, 2, 3\\}和边集(1,2),(1,3),(2,3)\\{(1, 2), (1, 3), (2, 3)\\},并且是简单图。顶点集XX66个非空的适当子集:$\\{1\\}, \\{2\\}, \\{3\\}, \\{1, 2\\}, \\{1, 3\\}, \\{2, 3\\}$。

  • 对于X=1,2,3X = \\{1\\}, \\{2\\}, \\{3\\},由XX引起的子图的边集为空,并且密度为displaystylefrac01=0\\displaystyle\\frac{0}{1} = 0
  • 对于X=1,2,1,3,2,3X = \\{1, 2\\}, \\{1, 3\\}, \\{2, 3\\},由XX引起的子图的边集分别为(1,2),(1,3),(2,3)\\{(1, 2)\\}, \\{(1, 3)\\}, \\{(2, 3)\\},密度都是displaystylefrac12\\displaystyle\\frac{1}{2}

在所有情况下,引起的子图的密度严格小于D=1D = 1,因此这个图满足条件。

示例输入 2

4 2

示例输出 2

No

不存在具有4个顶点和8条边的简单无向图。