01背包 望大牛纠错
  • 板块学术版
  • 楼主Surge_of_Force
  • 当前回复3
  • 已保存回复3
  • 发布时间2021/2/1 20:59
  • 上次更新2023/11/5 03:59:11
查看原帖
01背包 望大牛纠错
230875
Surge_of_Force楼主2021/2/1 20:59

贴代码

#include<cstdio>
#include<cmath>
#include<iostream>
using namespace std; 
int m[100][100],w[100],z[100];
int main()
{
	int n,c;
	scanf("%d%d",&n,&c);
	for(int i=1;i<=n;i++)
	    {
		scanf("%d",&w[i]); 
		scanf("%d",&z[i]); 
		}
    for(int i=1;i<=n;i++)
        for(int j=1;j<=c;j++)
        {
        	if(z[i]>j)
        	m[i][j]=m[i-1][j];
        	else
        	m[i][j]=max(m[i-1][j-z[i]]+w[i],m[i-1][j]);
		}
	printf("%d",m[n][c]);
	return 0;
}
2021/2/1 20:59
加载中...