第一道分组背包,尽管自己不会做,可是看了别人的代码后立马就明确了
#include#include using namespace std;int a[105][105];int dp[105];int main(){ int n,m; while(cin>>n>>m&&(n&&m)) { for(int i=1;i<=n;i++) { for(int j=1;j<=m;j++) { cin>>a[i][j]; } } memset(dp,0,sizeof(dp)); for(int i=1;i<=n;i++) { for(int j=m;j>=0;j--) { for(int k=1;k<=j;k++) { dp[j]=max(dp[j],dp[j-k]+a[i][k]); } } } cout< <