백준
백준 소스코드 [C++] 11403 경로 찾기
Hani_Levenshtein
2020. 8. 29. 09:55
https://www.acmicpc.net/problem/11403
11403번: 경로 찾기
가중치 없는 방향 그래프 G가 주어졌을 때, 모든 정점 (i, j)에 대해서, i에서 j로 가는 경로가 있는지 없는지 구하는 프로그램을 작성하시오.
www.acmicpc.net
백준 소스코드 [C++] 11403 경로 찾기
#include <iostream>
#include <algorithm>
#include <queue>
#include <string.h>
#include <limits.h>
typedef long long ll;
using namespace std;
int arr[100][100];
int n;
void floyd() {
for (int via = 0;via < n;via++)
for (int start = 0;start < n;start++)
for (int dest = 0;dest < n;dest++)
if (arr[start][via] == 1 && arr[via][dest] == 1)
arr[start][dest] = 1;
}
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cin >> n;
for (int i = 0;i < n;i++)for (int j = 0;j < n;j++)cin>>arr[i][j];
floyd();
for (int i = 0;i < n;i++) {
for (int j = 0;j < n;j++)
cout << arr[i][j] << " ";
cout << '\n';
}
return 0;
}