#B3611. 【模板】传递闭包(Transitive Closure)

0

【模板】传递闭包(Transitive Closure)

【模板】传递闭包(Transitive Closure)

题目描述

给定一张点数为 nn 的有向图的邻接矩阵,图中不包含自环,求该有向图的传递闭包。

一张图的邻接矩阵定义为一个 n×nn\times n 的矩阵 A=(aij)n×nA=(a_{ij})_{n\times n},其中

$a_{ij}=\left\{ \begin{aligned} 1,i\ 到\ j\ 存在直接连边\\ 0,i\ 到\ j\ 没有直接连边 \\ \end{aligned} \right.$

一张图的传递闭包定义为一个 n×nn\times n 的矩阵 B=(bij)n×nB=(b_{ij})_{n\times n},其中

$b_{ij}=\left\{ \begin{aligned} 1,i\ 可以直接或间接到达\ j\\ 0,i\ 无法直接或间接到达\ j\\ \end{aligned} \right.$

输入格式

输入数据共 n+1n+1 行。

第一行一个正整数 nn。

第 22 到 n+1n+1 行每行 nn 个整数,第 i+1i+1 行第 jj 列的整数为 aija_{ij}。

输出格式

输出数据共 nn 行。

第 11 到 nn 行每行 nn 个整数,第 ii 行第 jj 列的整数为 bijb_{ij}。

样例输入 #1

4
0 0 0 1
1 0 0 0
0 0 0 1
0 1 0 0

样例输出 #1

1 1 0 1
1 1 0 1
1 1 0 1
1 1 0 1

数据范围

对于 100%100\% 的数据,1≤n≤1001\le n\le 100,保证 aij∈{0,1}a_{ij}\in\{0,1\} 且 aii=0a_{ii}=0。

知识点与难度

本题涉及的知识点从属于 CSP-S,难度(CF Rating):1200。


测试点分布

Subtask 分值 测试点编号 说明
0 10 1 样例
1 25 2~8 小规模与边界测试数据
2 30 9~16 中等规模测试数据
3 35 17~25 满规模极限测试数据

出处:原题链接