https://www.acmicpc.net/problem/1932
λ¬Έμ
7
3 8
8 1 0
2 7 4 4
4 5 2 6 5
μ κ·Έλ¦Όμ ν¬κΈ°κ° 5μΈ μ μ μΌκ°νμ ν λͺ¨μ΅μ΄λ€.
맨 μμΈ΅ 7λΆν° μμν΄μ μλμ μλ μ μ€ νλλ₯Ό μ ννμ¬ μλμΈ΅μΌλ‘ λ΄λ €μ¬ λ, μ΄μ κΉμ§ μ νλ μμ ν©μ΄ μ΅λκ° λλ κ²½λ‘λ₯Ό ꡬνλ νλ‘κ·Έλ¨μ μμ±νλΌ. μλμΈ΅μ μλ μλ νμ¬ μΈ΅μμ μ νλ μμ λκ°μ μΌμͺ½ λλ λκ°μ μ€λ₯Έμͺ½μ μλ κ² μ€μμλ§ μ νν μ μλ€.
μΌκ°νμ ν¬κΈ°λ 1 μ΄μ 500 μ΄νμ΄λ€. μΌκ°νμ μ΄λ£¨κ³ μλ κ° μλ λͺ¨λ μ μμ΄λ©°, λ²μλ 0 μ΄μ 9999 μ΄νμ΄λ€.
μ λ ₯
첫째 μ€μ μΌκ°νμ ν¬κΈ° n(1 ≤ n ≤ 500)μ΄ μ£Όμ΄μ§κ³ , λμ§Έ μ€λΆν° n+1λ²μ§Έ μ€κΉμ§ μ μ μΌκ°νμ΄ μ£Όμ΄μ§λ€.
μΆλ ₯
첫째 μ€μ ν©μ΄ μ΅λκ° λλ κ²½λ‘μ μλ μμ ν©μ μΆλ ₯νλ€.
νμ΄
// Authored by : seondal
// Co-authored by : -
// #include <bits/stdc++.h>
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
ios_base::sync_with_stdio(false); cin.tie(NULL);
int n;
cin >> n;
vector<vector<int>> v(n);
for(int i=0; i<n; i++){
for(int j=0; j<=i; j++) {
int input;
cin >> input;
v[i].push_back(input);
}
}
vector<vector<int>> dp(n, vector<int>(n));
dp[0][0] = v[0][0];
for(int i=1; i<n; i++) {
dp[i][0] = dp[i-1][0] + v[i][0];
for(int j=1; j<i; j++) {
dp[i][j] = max(dp[i-1][j-1], dp[i-1][j]) + v[i][j];
}
dp[i][i] = dp[i-1][i-1] + v[i][i];
}
sort(dp[n-1].begin(), dp[n-1].end(), greater<>());
cout << dp[n-1][0];
return 0;
}
/*
*/
'π Cpp > [Solved.ac] Class2~4' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[BOJ][C++] λ°±μ€ 1003λ²: νΌλ³΄λμΉ ν¨μ (0) | 2023.02.13 |
---|---|
[BOJ][C++] λ°±μ€ 2798λ²: λΈλμ (0) | 2023.02.13 |
[BOJ][C++] λ°±μ€ 4153λ²: μ§κ°μΌκ°ν (0) | 2023.02.13 |
[BOJ][C++] λ°±μ€ 9095λ²: 1,2,3 λνκΈ° (0) | 2023.02.08 |
[BOJ][C++] λ°±μ€ 1181λ²: λ¨μ΄ μ λ ¬ (0) | 2023.02.08 |