1006. 连通性问题
| ||||||
| ||||||
Description
关系R具有对称性和传递性。数对p q表示pRq,p和q是0或自然数,p不等于q。
要求写一个程序将数对序列进行过滤,如果一个数对可以通过前面数对的传递性得到,则将其滤去。例如:
输入 输出 连通性
3 4 3 4
4 9 4 9
8 0 8 0
2 3 2 3
5 6 5 6
2 9 2-3-4-9
5 9 5 9
7 3 7 3
4 8 4 8
5 6 5-6
0 2 0-8-4-3-2
6 1 6 1
其中数对2 9和0 2可由之前数对的连通关系得到,故不做输出。
Input
输入共有m行(0<=m<=1000000),每行一个数对,数对的数字之间以1个空格分隔;数对的数字为0或n=100000以内的自然数。
Output
输出包含过滤之后的数对序列。每行输出一个数对,数对的数字之间以1个空格分隔。
Sample Input
3 4 4 9 8 0 2 3 5 6 2 9 5 9 7 3 4 8 5 6 0 2 6 1
Sample Output
3 4 4 9 8 0 2 3 5 6 5 9 7 3 4 8 6 1 Problem Source: Disjoint Sets |