티스토리 뷰

백준

백준 소스코드 [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;
}
댓글