#P11984. 寸又木

寸又木

题目背景

我也不知道为什么是 0-index

题目描述

给定一个 NN 个点的有向图,标号依次为 0,1,n10,1,\cdots n-1。对于任意 uvu\neq v,均有一条 uu 指向 vv 的边。

现分别给定大小为 MM 的边集 S1S_1 和大小为 KK 的边集 S2S_2(保证 S1S2=S_1\cap S_2 =\empty),构造该有向图一个大小为 N1N-1 的边集 SS(或者判断无解),使得:

  • S1SS_1\sube S
  • S2S=S_2\cap S =\empty
  • 存在一个点 xx,使得对于任意点 yxy\neq x,均可通过 SS 中的边到达 xx

输入格式

第一行三个整数 N,M,KN,M,K

接下来 MM 行,每行两个不相等的整数 ai,bia_i,b_i,表示 S1S_1 中的一条 aia_i 指向 bib_i 的边。

接下来 KK 行,每行两个不相等的整数 ci,dic_i,d_i,表示 S2S_2 中的一条 cic_i 指向 did_i 的边。

输出格式

如果无解,输出一行 NO

否则,输出 N1N-1 行,每行两个整数 ui,viu_i,v_i,表示 SS 中的一条 uiu_i 指向 viv_i 的边。

SS 中的每条边可以任意顺序输出,但应确保输出的 N1N-1 条边互不相同,且在 S1S_1 中的边仍需输出。如有多组解,可以输出任意一组。

样例输入 #1

5 1 8
4 1
3 1
3 4
3 2
0 2
0 4
2 4
1 0
2 0

样例输出 #1

4 1
3 0
1 3
2 3

样例输入 #2

5 4 0
1 0
2 3
3 4
4 2

样例输出 #2

NO

样例解释 #2

根据上述条件,若仅保留 SS 中的边且均视为无向边,生成的新图应当连通,由于边数为 N1N-1,则新图不应有环。S1S_1 中的边 (2,3)(3,4)(4,2)(2,3)(3,4)(4,2) 已经构成环,故无解。

样例输入 #3

3 0 1
0 1

样例输出 #3

1 0
2 0

样例输入 #4

4 0 2
0 1
1 0

样例输出 #4

2 0
3 0
1 3

数据范围

对于 100%100\% 的数据,2N3×1052\le N\le 3\times 10^50M3×1050\le M\le 3\times 10^50K3×1050\le K\le 3\times 10^50ai,biN10\le a_i,b_i\le N-10ci,diN10\le c_i,d_i\le N-1S1S2=S_1\cap S_2=\empty

subtask1subtask1 (12pts)(12pts): M=0M=0K=1K=1

subtask2subtask2 (10pts)(10pts): M=0M=0K=2K=2

subtask3subtask3 (19pts)(19pts): K=0K=0

subtask4subtask4 (13pts)(13pts): N100N\le 100

subtask5subtask5 (17pts)(17pts): 保证存在一个满足条件的集合 SS 使得对于任意点 x0x\neq 0,均可通过 SS 中的边到达 00

subtask6subtask6 (11pts)(11pts): M=0M=0

subtask7subtask7 (18pts)(18pts): 无特殊限制。