1403: 关系的闭包

内存限制:128 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:52 解决:43

题目描述

R是非空集合A上的关系,R的自反闭包(对称闭包、传递闭包)是A上的关系R’,且满足如下条件:
(1)R‘是自反的(对称的、传递的)
(2)R’包含R
(3)对A上的任何包含R的自反关系(对称关系、传递关系)R‘’都有R‘’ 包含R‘
现在给你一个关系R,请你编程求出关系R的自反闭包、对称闭包和传递闭包。

输入

问题的输入有多组。 
每组第一行是个正整数n和m,分别表示集合A中有n个元素(A中的元素分别用1、2、3、……、n表示)和表示关系R中有m个序偶元素。当n和m都是0时结束输入。 
随后是m行由2个正整数组成的数据x和y,表示R中的序偶<x,y>。

输出

输入关系R的自反闭包、对称闭包和传递闭包的关系矩阵。输出格式见范例。

样例输入 复制

4 4
1 2
2 1
2 3
3 4
0 0

样例输出 复制

R的自反闭包:
1 1 0 0
1 1 1 0
0 0 1 1
0 0 0 1
R的对称闭包:
0 1 0 0
1 0 1 0
0 1 0 1
0 0 1 0
R的传递闭包:
1 1 1 1
1 1 1 1
0 0 0 1
0 0 0 0