您的位置:首页 > 其它

Proud Merchants HDU - 3466

2017-09-04 17:26 204 查看
点击打开链接

主要就是由Pi+Qj<Pj+Qi 推出 Qi-Pi>Qj-Pj

参考博客点击打开链接

#include <stdio.h>
#include <algorithm>
using namespace std;

struct node
{
int w;
int l;
int v;
};

node item[510];
int pack[5010];

bool cmp(node n1,node n2)
{
return (n1.l-n1.w)<(n2.l-n2.w);
}

int main()
{
int n,m,i,j,maxx;
while(scanf("%d%d",&n,&m)!=EOF)
{
for(i=1;i<=n;i++)
{
scanf("%d%d%d",&item[i].w,&item[i].l,&item[i].v);
}
sort(item+1,item+n+1,cmp);
for(i=0;i<=m;i++)
{
pack[i]=0;
}
for(i=1;i<=n;i++)
{
for(j=m;j>=item[i].w&&j>=item[i].l;j--)
{
if(pack[j]<pack[j-item[i].w]+item[i].v)//这部分语句被执行的次数越多 后面物品的决策条件也就越充分
{
pack[j]=pack[j-item[i].w]+item[i].v;
}
}
}
maxx=0;
for(i=0;i<=m;i++)
{
if(pack[i]>maxx) maxx=pack[i];
}
printf("%d\n",maxx);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: