11404๋ฒ: ํ๋ก์ด๋
์ฒซ์งธ ์ค์ ๋์์ ๊ฐ์ n์ด ์ฃผ์ด์ง๊ณ ๋์งธ ์ค์๋ ๋ฒ์ค์ ๊ฐ์ m์ด ์ฃผ์ด์ง๋ค. ๊ทธ๋ฆฌ๊ณ ์ ์งธ ์ค๋ถํฐ m+2์ค๊น์ง ๋ค์๊ณผ ๊ฐ์ ๋ฒ์ค์ ์ ๋ณด๊ฐ ์ฃผ์ด์ง๋ค. ๋จผ์ ์ฒ์์๋ ๊ทธ ๋ฒ์ค์ ์ถ๋ฐ ๋์์ ๋ฒํธ๊ฐ
www.acmicpc.net
#include <iostream>
#include <vector>
#define INF 1e9 //๋ฌดํ์ ๋ปํ๋ ๊ฐ์ผ๋ก 10์ต์ ์ ์
using namespace std;
int n, m; //n=๋์์ ๊ฐ์, m=๋ฒ์ค์ ๊ฐ์
int graph[101][101];
int main() {
ios_base::sync_with_stdio(false);
cin.tie(0);
cin >> n >> m;
for (int i = 0; i < 101; i++) { //์ต๋จ ๊ฑฐ๋ฆฌ ํ
์ด๋ธ์ ๋ชจ๋ ๋ฌดํ์ ์ด๊ธฐํ
fill(graph[i], graph[i]+101, INF);
}
for (int a = 1; a <= n; a++) { //์๊ธฐ ์์ ์์ ์๊ธฐ ์์ ์ผ๋ก ๊ฐ๋ ๋น์ฉ์ 0์ผ๋ก ์ด๊ธฐํ.
for (int b = 1; b <= n; b++) {
if (a == b) graph[a][b] = 0;
}
}
for (int i = 0; i < m; i++) { //๊ฐ์ ์ ๋ณด ์
๋ ฅ.
int a, b, c; cin >> a >> b >> c;
//a์์ b๋ก ๊ฐ๋ ๋น์ฉ์ c
graph[a][b] = min(graph[a][b], c); // ์์๋
ธ์ ๊ณผ ๋์ฐฉ๋
ธ์ ์ด ์ฌ๋ฌ๊ฐ์ผ์ ์์ผ๋, ๊ฐ์ฅ ์์ ๊ฐ์ผ๋ก ๊ฐฑ์
}
for (int k = 1; k <= n; k++) { //ํ๋ก์ด๋-์์ฌ ์๊ณ ๋ฆฌ์ฆ ์ํ
for (int a = 1; a <= n; a++) {
for (int b = 1; b <= n; b++) {
graph[a][b] = min(graph[a][b], graph[a][k] + graph[k][b]);
}
}
}
for (int a = 1; a <= n; a++) {
for (int b = 1; b <= n; b++) {
if (graph[a][b] == INF) cout << 0 << ' ';
else cout << graph[a][b] << ' ';
}
cout << "\n";
}
}
'Algorithm ๐ง๐ปโ๐ป > ๋ฐฑ์ค(BOJ)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค,c++] 1149๋ฒ - RGB๊ฑฐ๋ฆฌ (0) | 2021.10.28 |
---|---|
[๋ฐฑ์ค,c++] 11444๋ฒ - ํผ๋ณด๋์น์ 6 (0) | 2021.10.28 |
[๋ฐฑ์ค,c++] 11441๋ฒ - ํฉ ๊ตฌํ๊ธฐ (0) | 2021.10.27 |
[๋ฐฑ์ค,c++] 11403๋ฒ - ๊ฒฝ๋ก ์ฐพ๊ธฐ (0) | 2021.10.27 |
[๋ฐฑ์ค,c++] 11399๋ฒ - ATM (0) | 2021.10.27 |
[๋ฐฑ์ค,c++] 1138๋ฒ - ํ ์ค๋ก ์๊ธฐ (0) | 2021.10.27 |
๋๊ธ