atcoder#ARC161D. [ARC161D] Everywhere is Sparser than Whole (Construction)

[ARC161D] Everywhere is Sparser than Whole (Construction)

配点 : 500500

問題文

頂点集合が空でない単純無向グラフの密度(辺数)(頂点数)\displaystyle\frac{(辺数)}{(頂点数)} と定義します.

正整数 N,DN, D が与えられます. NN 頂点 DNDN 辺の単純無向グラフ GG であって,以下の条件を満たすものが存在するかどうかを判定し,存在するならそのようなグラフを 11 つ求めてください.

条件: GG の頂点集合を VV とする. VV の任意の空でない部分集合 XX に対して,XX による GG の誘導部分グラフの密度は DD 未満である.

誘導部分グラフとは

グラフ GG の頂点部分集合 XX に対して,XX による GG誘導部分グラフとは,「頂点集合が XX であり,辺集合が『 GG の辺であって XX 内の 22 頂点を結ぶもの全体』であるグラフ」を指します. 上記の条件では,頂点部分集合として空集合でも全体でもないもののみを考えていることに注意してください.

制約

  • N1N \geq 1
  • D1D \geq 1
  • DN5×104DN \leq 5 \times 10^4

入力

入力は以下の形式で標準入力から与えられる.

NN DD

出力

条件を満たす単純無向グラフが存在するなら Yes を,存在しないなら No を出力せよ. さらに,Yes の場合には,続く DNDN 行に条件を満たすグラフを以下の形式で出力せよ. 条件を満たすグラフが複数存在する場合,そのようなグラフのうちどれを出力しても正答と見なされる.

A1A_1 B1B_1

A2A_2 B2B_2

\vdots

ADNA_{DN} BDNB_{DN}

  • 1Ai,BiN  (1iDN)1 \leq A_i, B_i \leq N \ \ (1 \leq i \leq DN)
  • AiBi  (1iDN)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)$
  • グラフの頂点には 11 から NN までの番号が付いているものとする.
  • ii 行目の出力は,ii 番目の辺が頂点 AiA_i と頂点 BiB_i を結んでいることを表す.
  • 辺の順番(どの辺を何番目に出力するか)や頂点の順番(各辺についてどちらの端点を先に出力するか)は自由である.
3 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)\} であり,単純です. 頂点集合の空でない真部分集合 XX としては {1},{2},{3},{1,2},{1,3},{2,3}\{1\}, \{2\}, \{3\}, \{1, 2\}, \{1, 3\}, \{2, 3\}66 通りが考えられ,

  • X={1},{2},{3}X = \{1\}, \{2\}, \{3\} のとき,XX による誘導部分グラフの辺集合は空集合であり,その密度は 01=0\displaystyle\frac{0}{1} = 0
  • X={1,2},{1,3},{2,3}X = \{1, 2\}, \{1, 3\}, \{2, 3\} のとき,XX による誘導部分グラフの辺集合はそれぞれ {(1,2)},{(1,3)},{(2,3)}\{(1, 2)\}, \{(1, 3)\}, \{(2, 3)\} であり,いずれも密度は 12\displaystyle\frac{1}{2} です.

全ての場合に対して誘導部分グラフの密度は D=1D = 1 未満であり,このグラフは条件を満たします.

4 2
No

44 頂点 88 辺の単純無向グラフは存在しません.