动态规划 ~~ 01背包~~

include <bits/stdc++.h>

using namespace std;

int v[105] ,w[1005],f[105][1005];//前i个数在体积不超过j时最优解

int main()
{
int n , x;
cin >> n >> x;
for (int i = 1; i <= x;i++)
{
cin >> v[i] >> w[i];
}
for (int i = 1; i <= x;i++)
{
for (int j = 0; j <= n;j++)
{
if (j >= v[i]) f[i][j] = max(f[i - 1][j] ,f[i - 1][j - v[i]] + w[i]);//3
else f[i][j] = f[i - 1][j];
}
}
cout << f[x][n] << "\n";//2
return 0;
}

posted @ 2024-12-26 17:46  luorundong  阅读(5)  评论(0编辑  收藏  举报