Tags
- ์ํ
- queue
- Dynamic Programming
- ๋ฐฑํธ๋ํน
- BFS
- ๊ทธ๋ํ ์ด๋ก
- ์๋ฎฌ๋ ์ด์
- ์ ์๋ก
- LV2
- Python
- ๊ตฌํ
- BOJ
- Java
- ๊ต์ฌ
- stack
- ์๋ฃ๊ตฌ์กฐ
- ๋ฌธ์์ด
- Study
- ์ ๋ ฌ
- SpringBoot
- sort
- ๋๋น ์ฐ์ ํ์
- dfs
- CodingTest
- DP
- Brute Force Algorithm
- greedy
- PGM
- ๊ทธ๋ํ ํ์
- ๊น์ด ์ฐ์ ํ์
Archives
๊ธฐ๋ก๋ฐฉ
BOJ_11404 : ํ๋ก์ด๋ ๋ณธ๋ฌธ
๐ธ ๋ฌธ์ ๋ถ์ ๐ธ
- ํ๋ก์ด๋-์์ ์๊ณ ๋ฆฌ์ฆ์ ๊ธฐ์ด ๋ฌธ์ ์ด๋ค.
๐ธ ๋ฌธ์ ํ์ด ๐ธ
- ๋จ๋ฐฉํฅ ๊ฐ์ค์น ์ฐ๊ฒฐ ๊ทธ๋ํ์์ ๋ชจ๋ ๊ฒฝ๋ก์ ๋ํ ์ต๋จ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ๋ค.
๐ธ ์ฝ๋ ๐ธ
import java.io.*;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int n = Integer.parseInt(br.readLine());
int m = Integer.parseInt(br.readLine());
int[][] cost = new int[n + 1][n + 1];
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
if (i != j)
cost[i][j] = Integer.MAX_VALUE;
}
}
for (int i = 0; i < m; i++) {
StringTokenizer st = new StringTokenizer(br.readLine());
int a = Integer.parseInt(st.nextToken());
int b = Integer.parseInt(st.nextToken());
int c = Integer.parseInt(st.nextToken());
cost[a][b] = Math.min(cost[a][b], c);
}
for (int k = 1; k <= n; k++) {
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
if (cost[i][k] != Integer.MAX_VALUE && cost[k][j] != Integer.MAX_VALUE)
cost[i][j] = Math.min(cost[i][j], cost[i][k] + cost[k][j]);
}
}
}
StringBuilder sb = new StringBuilder();
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
if (cost[i][j] == Integer.MAX_VALUE)
sb.append(0).append(' ');
else
sb.append(cost[i][j]).append(' ');
}
sb.append('\n');
}
bw.write(sb.toString());
bw.flush();
}
}
๐ธ ์ฝ๋ ํด์ ๐ธ
- n x n ํ๋ ฌ์ ๋ง๋ค์ด ๊ฐ์ค์น๋ฅผ ์ ์ฅํ๋ค.
- ๋จ๋ฐฉํฅ ์ฐ๊ฒฐ์ด๋ฉฐ ์๊ธฐ ์์ ์ 0, ์ฐ๊ฒฐ์ด ์๋์ด ์์ผ๋ฉด Infinity๋ก ์ ์ฅํ๋ค.
- k๋ฅผ ๊ฒฝ์ ์ง๋กํ๋ i -> j ์ฐ๊ฒฐ์ ๋ชจ๋ ํ์ธํด ์ต์๊ฐ์ ๊ฐฑ์ ํ๋ค.
- ๋ชจ๋ i -> j ๊ฐ์ ์ถ๋ ฅํ๋ค.
๐ธ end ๐ธ
- ํ๋ก์ด๋ ์์
๋ฌธ์ ๋ ๋ง์ด ํ์ด๋ณด์ง ์์๋๋ฐ, ์๊ณ ๋ฆฌ์ฆ์ ์๊ณ ๋๋ฉด ๊ฐ๋จํ ํ์ดํ ์ ์์๋ค.
- ํต์ฌ์ k๋ฅผ ๊ฒฝ์ ์ง๋ก ๋๊ณ , ์ต์๊ฐ์ ์ ๋ฐ์ดํธํ๋ ์ ํ์์ด์๋ค.
- ๋จ๋ฐฉํฅ ์ฐ๊ฒฐ์ ์๋ฐฉํฅ ์ฐ๊ฒฐ๋ก ์ฐฉ๊ฐํด 1ํ ํ๋ ธ๋ค.
728x90
'CodingTest > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
BOJ_1300 : K๋ฒ์งธ ์ (0) | 2024.02.05 |
---|---|
BOJ_2343 : ๊ธฐํ ๋ ์จ (0) | 2024.02.05 |
BOJ_1517 : ๋ฒ๋ธ ์ํธ (0) | 2024.01.26 |
BOJ_2638 : ์น์ฆ (0) | 2024.01.25 |
BOJ_5639 : ์ด์ง ๊ฒ์ ํธ๋ฆฌ (0) | 2023.12.15 |