1 条题解
-
1
用c++提交,不过还是c语言的写法,不会的可以去看01背包问题
#include <stdio.h>
#include <algorithm>
using namespace std;
int main()
{
int n,m;
scanf("%d %d",&n,&m);
int dp[100][1001];
int t[10017],v[1001];
for(int i=0;i<m;i++){
scanf("%d %d",&t[i],&v[i]);
}
for(int i=0;i<=m;i++){
for(int j=n;j>=0;j--){
if(j>=t[i]){
dp[i][j]=max(dp[i-1][j],dp[i-1][j-t[i]]+v[i]);
}else{
dp[i][j]=dp[i-1][j];
}
}
}
printf("%d\n",dp[m][n]);
return 0;
}
- 1
信息
- ID
- 224
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 8
- 标签
- 递交数
- 319
- 已通过
- 41
- 上传者