解题思路:动态规划
参考代码:
#include <stdio.h> #include <string.h> #include <algorithm> using namespace std; int n,m;//n:钱 m:物品个数 int dp[30005]; int v[30];//价格 int p[30]; //重要度 int main(){ scanf("%d%d",&n,&m); memset(v,0,sizeof(v)); memset(p,0,sizeof(p)); memset(dp,0,sizeof(dp)); for(int i=1;i<=m;i++){ scanf("%d%d",&v[i],&p[i]); } for(int i=1;i<=m;i++){ for(int j=n;j>=v[i];j--){ dp[j]=max(dp[j],dp[j-v[i]]+p[i]*v[i]); } } printf("%d",dp[n]); return 0; }
0.0分
3 人评分
c primer plus 第十二章 12.1小节浏览:376 |
P1001 (C语言代码)浏览:799 |
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:590 |
C语言程序设计教程(第三版)课后习题8.1 (C语言代码)浏览:1242 |
WU-拆分位数 (C++代码)浏览:779 |
C语言考试练习题_一元二次方程 (C语言代码)浏览:575 |
C语言程序设计教程(第三版)课后习题6.2 (C语言代码)浏览:685 |
P1000 (C语言代码)浏览:868 |
C语言程序设计教程(第三版)课后习题10.1 (C语言代码)浏览:560 |
【偶数求和】 (C语言代码)浏览:430 |