讨论 / 为什么无输出?
yiming94 2009-01-28 19:32:00
点我顶贴 收藏 删除
#include <stdio.h>

int main()

{

long f[1080001]={0},n,t;

long w1,t1,w2,t2;

long i,j;

scanf("%ld%ld",&n,&t);

for(i=0;i<n;i++)

{

scanf("%ld%ld%ld%ld",&w1,&t1,&w2,&t2);

for(j=t;j>=t1 || j>=t2;j--)

{

if(f[j-t1]+w1>f[j] && j>=t1)

f[j]=f[j-t1]+w1;

if(f[j-t2]+w2>f[j] && j>=t2)

f[j]=f[j-t2]+w2;

}

}

printf("%ld",f[t]);

return(0);

}

#1 飞雪天涯@2008-10-19 08:30:00
回复 删除
把if语句的&&左右互换(即if(j>=t1&&dp[j-t1]+w1>dp[j]) dp[j]=dp[j-t1]+w1;if(j>=t2&&dp[j-t2]+w2>dp[j]) dp[j]=dp[j-t2]+w2;)
#2 yiming94@2009-01-28 19:32:00
回复 删除
好神奇啊
查看更多回复
提交回复