动态规划
0-1背包
典型0-1背包。
#include#include int weight[3403]; int value[3403]; int dp[12881]; int main() { int N,M; int i,j; scanf("%d*c",&N); scanf("%d*c",&M); memset(weight,0,sizeof(weight)); memset(value,0,sizeof(value)); memset(dp,0,sizeof(dp)); for(i=1; i<=N; i++) { scanf("%d %d*c",&weight[i],&value[i]); } for(i=1; i<=N; i++) { for(j=M; j>=weight[i]; j--) { dp[j] = dp[j-weight[i]] + value[i] > dp[j] ? dp[j-weight[i]] + value[i] : dp[j]; } } printf("%d\n",dp[M]); return 0; }
Exe.Time | Exe.Memory | Code Length | Language |
---|---|---|---|
282MS | 504K | 586B | c |
Ver 1.0 2017-9-18