#include<stdio.h>
#include<string.h>
long V[1005][1005];
long w[1005],v[1005];
void FindMax(long x,long y)
{
int i,j;
for(i=1;i<=x;i++)
{
for(j=0;j<=y;j++)
{
if(j<v[i]) V[i][j]=V[i-1][j];
else
{
if(V[i-1][j]>(V[i-1][j-v[i]]+w[i]))
V[i][j]=V[i-1][j];
else
V[i][j]=V[i-1][j-v[i]]+w[i];
}
}
}
}
int main()
{
long i,t,n,v1;
while(scanf("%d",&t)!=EOF)
{
while(t--)
{
scanf("%ld%ld",&n,&v1);
memset(V,0,sizeof(V));
memset(w,0,sizeof(w));
memset(v,0,sizeof(v));
for(i=1;i<=n;i++)
scanf("%ld",&w[i
0-1背包之hd2602
最新推荐文章于 2020-10-06 18:26:20 发布
博客讲述了作者在解决0-1背包问题时遇到的错误和学习过程,强调了在编程中要考虑数据范围和特殊情况的重要性。
摘要由CSDN通过智能技术生成