#P1066. 【UER #13】连环陷阱
【UER #13】连环陷阱
你作为跳蚤王国的地雷专家,需要布置连环地雷陷阱阻击敌军。
地雷被排成了左右两侧,左侧的地雷集合为 $L$,右侧的地雷集合为 $R$,有若干条单向引线连接着左右两侧的地雷,当一颗地雷引爆的时候,从这颗地雷单向连出去的引线连接的地雷也会引爆。保证同侧的地雷之间没有引线,且任意一对地雷之间最多有一条引线。
现在所有的引线的触发方向都没有确定,你的工作就是给每条引线设置一个单向触发方向,使得左侧存在一个地雷 $u$,右侧存在一个地雷 $v$ 满足:
引爆地雷 $u$ 后,右侧除了地雷 $v$ 的其他所有地雷都被引爆,且 $v$ 是否被引爆无所谓。
引爆地雷 $v$ 后,左侧除了地雷 $u$ 的其他所有地雷都被引爆,且 $u$ 是否被引爆无所谓。
请你判断是否存在这样的方案,如果存在的话给出一组具体的构造。
形式化题面:
给定一张简单无向二分图 $G(V,E)$,令左部点集为 $L$,右部点集为 $R$,判断是否存在一种 $E$ 的定向方案,使得存在一对关键点 $(u,v)$ 满足 $u \in L,v \in R$,$u$ 可以到达 $R \setminus \{v\}$,$v$ 可以到达 $L\setminus\{u\}$。
输入格式
本题有多测。
第一行包含一个整数 $T$ 表示数据组数。对于每组数据:
第一行包含三个非负整数 $n_L,n_R,m$ 分别表示 $L$ 的大小,$R$ 的大小,$E$ 的大小。
接下来 $m$ 行,每行两个正整数 $u_i,v_i$ 表示 $E$ 中一条边 $(L_{u_i},R_{v_i})$。
输出格式
对于每组数据,输出一行一个字符串 Yes 或 No 分别表示答案为存在或不存在。
如果答案存在,输出一行长度为 $m$ 的 01 串,第 $i$ 个字符是 1 表示定向为 $L_{u_i}\rightarrow R_{v_i}$,0 表示定向为 $L_{u_i}\leftarrow R_{v_i}$,然后输出一行两个整数 $u,v$。
3
2 2 2
1 1
2 2
5 3 8
1 1
1 2
2 3
3 1
3 3
4 1
4 2
5 1
5 3 7
1 1
1 2
2 3
3 1
3 3
4 1
4 2
Yes
10
1 2
Yes
01110000
2 3
No
数据范围
保证对于所有数据,$1\le T \le 10^3, 1\le n_L,n_R,\sum n_L,\sum n_R \le 10^5,0\le \sum m \le 3\times 10^5,1\le u_i \le n_L,1\le v_i\le n_R$。
| 子任务编号 | 特殊性质 | 分值 |
|---|---|---|
| $1$ | $n_L,n_R,m \leq 10$ | $20$ |
| $2$ | $m < n_L+n_R-1$ | $20$ |
| $3$ | $m \geq n_L+n_R-1$ | $20$ |
| $4$ | 无 | $40$ |
时间限制:$\texttt{1s}$
空间限制:$\texttt{512MB}$