#include <iostream>
using namespace std;
int n;
int path[100][100];
void floyd() {
for (int k = 0; k < n; k++) {
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
if (path[i][k] == 1 && path[k][j] == 1)
path[i][j] = 1;
}
}
}
}
int main(void) {
cin >> n;
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
cin >> path[i][j];
}
}
floyd();
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
cout << path[i][j] << " ";
}
cout << endl;
}
}
'백준 알고리즘 > BFS' 카테고리의 다른 글
백준 14502번 C++ (0) | 2019.01.10 |
---|---|
백준 2468번 C++ (0) | 2019.01.09 |
백준 11724번 C++ (0) | 2019.01.09 |
백준 2583번 C++ (0) | 2019.01.08 |
백준 1697번 C++ (0) | 2019.01.07 |