【♂Not The Triumph♂O(∩_∩)O哈哈~But The Struggle♂】

竞赛决不是捷径,它只是另一种艰辛的生活方式。得到与失去,只有时间会去评判;成功与失败,只有历史能去仲裁。我不会永远成功,正如我不会永远失败一样

  C++博客 :: 首页 :: 联系 ::  :: 管理
  6 Posts :: 239 Stories :: 25 Comments :: 0 Trackbacks

常用链接

留言簿(7)

我参与的团队

搜索

  •  

积分与排名

  • 积分 - 104859
  • 排名 - 233

最新评论

阅读排行榜

评论排行榜

刘翔因伤从北京奥运会的跑道上下来以后,十分的痛苦难过!全国人民看到后都为刘翔加油,支持和关心刘翔!因此,很多人写信来安慰他。没多久,就收到了一大堆信件,可他处理不了这么多,便找到ssxyh处理。ssxyh将信件分了n分,每份信件都有自己的,欣赏价值value,消耗时间time,消耗体力h,和得到的鼓舞w。观看信件必须按照价值递增(大于)的顺序观看,不一定需要全看,例如看了价值45之后就不能再看价值23的了。(为什么?,如果先看了小胡的信当然再看布什的信就不爽了,谁看得下去啊。。。。)可是,翔在伤病中,时间和体力都有限,分别为t,m,同时看完之后体力不能为0(会挂的。。)。这下ssxyh也犯难了,只好请求你帮忙,如何在这些条件下使刘翔获得最大的鼓舞呢??

input:
第一行n,m,t(n,m,t<=100)
第二行到n+1行,每行4个数,value,time,h,w

output:
一个数,最大的鼓舞!

input:
5 30 20
29 5 3 7
50 2 6 5
25 3 7 3
19 5 5 8
25 6 2 7

output:
27

【参考程序】:

#include<stdio.h>
#include
<stdlib.h>
#include
<string.h>
int n,m,t,i,j,k,va,ti,h,w;
int f[110][110];
int main()
{
    scanf(
"%d%d%d",&n,&m,&t);
    
for (i=0;i<=m;i++)
      
for (j=0;j<=t;j++)
        f[i][j]
=0;
    
for (k=1;k<=n;k++)
    {
        scanf(
"%d%d%d%d",&va,&ti,&h,&w);
        
for (i=t;i>=ti;i--)
          
for (j=m-1;j>=h;j--)
              
if (f[i-ti][j-h]+w>f[i][j])
                f[i][j]
=f[i-ti][j-h]+w;
    }
    printf(
"%d\n",f[t][m-1]);
    system(
"pause");
    
return 0;
}
posted on 2009-03-29 08:39 开拓者 阅读(109) 评论(0)  编辑 收藏 引用 所属分类: 动态规划&背包

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理