Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 오에스
- 자료구조
- 그래프
- OS
- 컴퓨터공학과
- 컴공과
- cs
- 알고리즘
- 백준
- DP
- 컴공
- c++
- 코테
- 구현
- 오퍼레이팅시스템
- vector
- coding
- 개발
- 정석
- 북리뷰
- 정석학술정보관
- 문제풀이
- bfs
- Operating System
- 코딩
- Computer science
- 너비우선탐색
- Stack
- 스택
- 브루트포스
Archives
- Today
- Total
Little Jay
Floyd-Warshall 본문
#include<iostream>
#define NUMBER 8
#define INF 987654321
using namespace std;
int table[NUMBER][NUMBER] = {
{0, 3, INF, INF, INF, INF, 2, 4},
{3, 0, 2, 4, INF ,INF , INF, INF},
{INF, 2, 0, 4, INF, 5, INF, INF},
{INF, 4, 4, 0, 2, 5, INF, INF},
{INF ,INF ,INF, 2, 0, INF, 3 , 3},
{INF, INF ,5 ,5 ,INF, 0, INF ,2},
{2, INF, INF, INF, 3, INF, 0, 2},
{4, INF, INF, INF, 3, 2, 2, 0}
};
void printTable() {
for (int i = 0; i < NUMBER; i++) {
for (int j = 0; j < NUMBER; j++) {
if (table[i][j] == INF) cout << "- ";
else cout << table[i][j] << " ";
}
cout << endl;
}
cout << endl;
cout << endl;
}
void FloydFunction() {
for (int k = 0; k < 2; k++) {
for (int i = 0; i < NUMBER; i++) {
for (int j = 0; j < NUMBER; j++) {
int temp = table[i][k] + table[k][j];
if (temp < table[i][j])
table[i][j] = temp;
}
}
printTable();
}
}
int main() {
FloydFunction();
return 0;
}
'Univ > Algorithm' 카테고리의 다른 글
Prim Algorithm (0) | 2022.06.29 |
---|
Comments