๋ฌธ์ (์ถ์ฒ: https://www.acmicpc.net/problem/14767)
< Flow Shop >
๋ฌธ์ ํ์ด
๊ฐ ๋จ๊ณ๋ฅผ ์งํํ ๋ ์ด์ ์ํ๊ธฐ์ ๋จ๊ณ๊ฐ ๋ค ์งํ๋์๋์ง ํ์ธํ๋ค.
my solution (Java)
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;
public class _14767_ { // Flow Shop
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st = new StringTokenizer(bf.readLine());
int n = Integer.parseInt(st.nextToken());
int m = Integer.parseInt(st.nextToken());
int arr[][] = new int[n][m];
for (int i = 0; i < n; i++) {
st = new StringTokenizer(bf.readLine());
for (int j = 0; j < m; j++) {
arr[i][j] = Integer.parseInt(st.nextToken());
}
}
int dp[][] = new int[n][m];
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
if (i == 0) {
if (j == 0) {
dp[i][j] = arr[i][j];
continue;
}
dp[i][j] = dp[i][j - 1] + arr[i][j];
} else {
if (j == 0) {
dp[i][j] = dp[i - 1][j] + arr[i][j];
} else {
if (dp[i][j - 1] < dp[i - 1][j]) {
dp[i][j] = dp[i - 1][j] + arr[i][j];
} else {
dp[i][j] = dp[i][j - 1] + arr[i][j];
}
}
}
}
}
for (int i = 0; i < n; i++) {
bw.write(dp[i][m - 1] + " ");
}
bw.flush();
}
}
๋ณ์)
n, m : ์ํ๊ธฐ ์, ๋จ๊ณ ์
arr : ๊ฐ ์ํ๊ธฐ์ ๊ฐ ๋จ๊ณ ์ํ ์๊ฐ
dp : ๊ฐ ๋จ๊ณ๊น์ง ์๋ฃ๋๋ ์๊ฐ
์ํ๊ธฐ ์, ๋จ๊ณ ์๋ฅผ ์ ๋ ฅ๋ฐ๋๋ค. ๊ฐ ์ํ๊ธฐ์ ๊ฐ ๋จ๊ณ ์ํ ์๊ฐ์ ์ ๋ ฅ๋ฐ์ arr์ ์ ์ฅํ๋ค. arr์ ์ดํด๋ณด๋ฉฐ, ์ฒซ ๋ฒ์งธ ์ํ๊ธฐ๋ ์ฐจ๋ก๋๋ก ์งํํ๊ณ , ๋ค์ ์ํ๊ธฐ๋ถํฐ ์ด์ ์ํ๊ธฐ์ ์๊ฐ์ ํ์ธํ๋ค. ์ฒซ ๋ฒ์งธ ๋จ๊ณ์์๋ (์ด์ ์ํ๊ธฐ ์ฒซ ๋จ๊ณ ์๋ฃ ์๊ฐ) + (ํ์ฌ ์ํ๊ธฐ ์ฒซ ๋จ๊ณ ์๋ฃ ์๊ฐ)์ผ๋ก ๊ตฌํ๊ณ , ๋๋จธ์ง๋ ์ด์ ๋จ๊ณ์์ ๋๋ ์๊ฐ์ด ์ด์ ์ํ๊ธฐ์ ํ์ฌ ๋จ๊ณ ์๊ฐ๋ณด๋ค ๋น ๋ฅด๋ค๋ฉด ์ด์ ์ํ๊ธฐ ์๊ฐ์ ๊ธฐ์ค์ผ๋ก ํ์ฌ ๋จ๊ณ๋ฅผ ์ํํ๋ค. ์ด์ ๋จ๊ณ์์ ๋๋ ์๊ฐ์ด ์ด์ ์ํ๊ธฐ์ ํ์ฌ ๋จ๊ณ ์๊ฐ๋ณด๋ค ๋๋ฆฌ๋ค๋ฉด ์ด์ ๋จ๊ณ๋ฅผ ๊ธฐ์ค์ผ๋ก ํ์ฌ ๋จ๊ณ๋ฅผ ์ํํ๋ค.
์ต์ข dp๋ฐฐ์ด์ ๋ง์ง๋ง์ด์ ์ถ๋ ฅํ๋ค.

'๐Algorithm > ๐ฅBaekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [Baekjoon] 26934_The Bus Card (0) | 2026.04.09 |
|---|---|
| [Baekjoon] 27041_Leapcow (0) | 2026.04.08 |
| [Baekjoon] 6245_Cow Solitaire (0) | 2026.04.03 |
| [Baekjoon] 9844_Gecko (0) | 2026.04.02 |
| [Baekjoon] 30337_Linas ir mandarinai (0) | 2026.04.01 |