DP-Exercise
This commit is contained in:
35
Algorithm/DP-DynamicProgramming/P1164 小A点菜.cpp
Normal file
35
Algorithm/DP-DynamicProgramming/P1164 小A点菜.cpp
Normal file
@@ -0,0 +1,35 @@
|
||||
#include <iostream>
|
||||
#include <vector>
|
||||
#include <unordered_map>
|
||||
using namespace std;
|
||||
int main(){
|
||||
int n, m;
|
||||
cin >> n >> m;
|
||||
vector<int> arr(n);
|
||||
vector<int> dp(m + 1, 0);
|
||||
unordered_map<int, int> mp;
|
||||
for(int i = 0; i < n; i++){
|
||||
cin >> arr[i];
|
||||
mp[i]++;
|
||||
}
|
||||
dp[0] = 1;
|
||||
//dp[i] += dp[i - arr[j]]
|
||||
|
||||
/* 0/1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>j<EFBFBD><6A><EFBFBD><EFBFBD><EFBFBD>㣬<EFBFBD><E3A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>d[i]
|
||||
for(int i = 1; i <= m; i++){
|
||||
for(int j = 0; j < n; j++){
|
||||
if(i - arr[j] >= 0) {
|
||||
dp[i] += dp[i - arr[j]];
|
||||
}
|
||||
}
|
||||
}*/
|
||||
//<2F><><EFBFBD>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD>Ԫ<EFBFBD><D4AA>
|
||||
for(int j = 0; j < n; j++){
|
||||
for(int i = m; i >= arr[j]; i--){
|
||||
dp[i] += dp[i - arr[j]];
|
||||
}
|
||||
}
|
||||
|
||||
cout << dp[m] << endl;
|
||||
return 0;
|
||||
}
|
||||
Reference in New Issue
Block a user