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 | 31 |
Tags
- OS
- coding
- Stack
- 정석학술정보관
- Operating System
- 코딩
- c++
- 스택
- 컴퓨터공학과
- bfs
- 오에스
- 코테
- 자료구조
- 컴공
- Computer science
- 오퍼레이팅시스템
- DP
- 구현
- 북리뷰
- 정석
- 알고리즘
- 개발
- cs
- 컴공과
- vector
- 브루트포스
- 백준
- 너비우선탐색
- 문제풀이
- 그래프
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