1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | // 플로이드 와샬로 풀이 // 20분 #define _CRT_SECURE_NO_WARNINGS #include <cstdio> #include <algorithm> using namespace std; const int INF = 1000000000; int main() { int n, mtx[100][100]; scanf("%d", &n); for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { scanf("%d", &mtx[i][j]); if (mtx[i][j] == 0) mtx[i][j] = INF; } } for (int k = 0; k < n; k++) for (int i = 0; i < n; i++) for (int j = 0; j < n; j++) mtx[i][j] = min(mtx[i][j], mtx[i][k] + mtx[k][j]); for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { printf("%d ", mtx[i][j] == INF ? 0 : 1); } puts(""); } return 0; } | cs |
플로이드 워셜 알고리즘을 사용하여 푼 11403 경로 찾기 문제
백준 1149 RGB거리 (0) | 2018.05.18 |
---|---|
백준 1389 케빈 베이컨의 6단계 법칙 (0) | 2018.05.17 |
백준 11404 플로이드 (0) | 2018.05.17 |
백준 2468 안전 영역 (0) | 2018.05.17 |
백준 11724 연결 요소의 개수 (0) | 2018.05.17 |
댓글,
jayharvey
머신러닝/딥러닝 관련 글을 포스팅할 예정입니다 :)