题解,01背包
2023-12-30 12:13:06
发布于:江苏
2阅读
0回复
0点赞
昨天学了下背包,cpu都要烧干了,写了1上午了
#include <bits/stdc++.h>
using namespace std;
int k[1010][1010],t,m,t1[1010],m1[1010];
int main(){
cin>>t>>m;
for(int i=1;i<=m;i++){
cin>>t1[i]>>m1[i];
}
for(int i=1;i<=m;i++){
for(int j=1;j<=t;j++){
if(t1[i]>j) k[j][i]=k[j][i-1];
else k[j][i]=max(k[j-t1[i]][i-1]+m1[i],k[j][i-1]);
}
}
cout<<k[t][m];
return 0;
}
这里空空如也
有帮助,赞一个