#L0139. 寻找关键传输线路

寻找关键传输线路

题目描述

某数据中心集群由若干台服务器和若干条直接连接两台服务器的双向传输线路构成。已知整个集群是连通的,即:任意两台服务器之间都存在(若干条传输线路首尾相接而成的)通路。

一部分服务器会向所有服务器(包括它自己)提供 AA 类资源,还有一部分服务器会向所有服务器(包括它自己)提供 BB 类资源。同一台服务器可能同时提供两类资源。每台服务器都必须能够访问到这两类资源。

当某条传输线路中断时,可能会导致某台服务器无法访问某类资源(即:存在某台服务器和某类资源,使得没有任何一台提供该类资源、且与它仍然连通的服务器)。我们称会造成这种后果的传输线路关键传输线路

你的任务是,写一个程序计算有多少条关键传输线路,并求出每条关键传输线路所连接的两台服务器。

输入格式

输入第一行包含四个整数 N,M,K,LN,M,K,L。其中,N  (1N105)N \; (1 \le N \le 10^5) 表示服务器数量,M  (1M106)M \; (1 \le M \le 10^6) 表示传输线路数量,K  (1KN)K \; (1 \le K \le N) 表示提供 AA 类资源的服务器数量,L  (1LN)L \; (1 \le L \le N) 表示提供 BB 类资源的服务器数量。服务器编号为 11NN

第二行包含 KK 个整数,表示提供 AA 类资源的服务器编号。

第三行包含 LL 个整数,表示提供 BB 类资源的服务器编号。

接下来 MM 行,每行包含两个整数 p,q  (1p,qN,pq)p,q \; (1 \le p,q \le N,p \neq q),表示一条传输线路的两个端点编号。保证任意两台服务器之间至多只有一条传输线路

输出格式

输出第一行包含一个整数 SS,表示关键传输线路的数量。

接下来 SS 行,每行包含两个整数 p,qp,q,表示一条关键传输线路所连接的两个端点编号。

关键传输线路的输出顺序任意,每一条关键传输线路的两个端点顺序也任意。

样例

9 10 3 4
2 4 5
4 9 8 3
1 2
4 1
2 3
4 2
1 5
5 6
6 7
6 8
7 9
8 7
3

3 2 5 6 7 9

</p>

提示

保证初始时整个集群是连通的。

本题答案不唯一,评测使用 Special Judge 校验输出是否合法。

难度 提高
通过率 100%
尝试 1
已通过 1
ID
867
类型
传统题
Time Limit
3000ms
Memory Limit
64MiB
上传者