기타등등/알고리즘 기록
[C++] DP - Knapsack Algorithm(가방 문제)
CodeJB
2021. 8. 17. 18:59

#include <iostream>
#include <vector>
using namespace std;
int main() {
ios_base :: sync_with_stdio(false);
int n, m, w, v;
cin >> n >> m;
vector<int> dy(m+1,0);
for(int i = 0; i < n; i++){
cin >> w >> v;
for(int j = w; j <= m; j++){
dy[j] = max(dy[j], dy[j-w]+v);
}
}
cout << dy[m];
return 0;
}
1. 다이나믹 테이블을 정의한다.

2. 입력 순서대로 dy테이블에 값을 할당한다.




https://www.inflearn.com/course/%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98/dashboard