kAri-417丁神爱码代码-基本背包

17 篇文章 0 订阅
5 篇文章 0 订阅

不多说什么,看着模板就知道了,就是最基本的那种背包,满大街都是。。

时间限制 1000 ms  内存限制 65536 KB

题目描述

丁神又要去Google上班了,这一次丁神想多做几道水题,并使题目的总水量最大.丁神同一时刻只能在水一道题,只有做完这道题才能得到它的水值,丁神的总时间为 t ,现在一共有 n 道题,编号从1到 n ,每道题有两个值 a b a 为做这道题需要的时间, b 为题目的水值。

输入格式

输入第一行为数据组数 T(T10) ,接下来 T 组数据,每组数据中第一行为两个数 t n n 为题目的数量, t 为总时间,接下来 n 行,每行两个正整数 a b (1a,t10001n1001b1000000000)

输出格式

对于每组数据,输出对应的最大总水量,每个输出占一行。

输入样例

1
10 2
8 16
6 12

输出样例

16

我的血泪都在代码里了

#include 
    
    
     
     
int c[101];
long long int w[101];
/**
都说上帝创造了世界,但是魔鬼创造了边界,此话果然不假,
我看long long 看得满心满身都是泪 T.T
*/
long long int af[10001];
int main()
{
    int i,tt,t,num;int v;int n;
    scanf("%d",&tt);
    while(tt--){
        i=0;
        scanf("%d%d",&t,&num);
        n=num;
        memset(c,0,sizeof(c));
        memset(w,0,sizeof(w));
        while(num--){
            scanf("%d%d",&c[i],&w[i]);
            i++;
        }
    /**
    背包九讲第一重
    */
    memset(af,0,sizeof(af));
    for(i=0;i
     
     
      
      =c[i];v--){
                /**考虑一下,如果v>=0而不是c[i],那af[v-c[i]]该自杀了*/
                /**精髓如下式*/
                af[v]=af[v]>(af[v-c[i]]+w[i])?af[v]:(af[v-c[i]]+w[i]);
            }
        }
        printf("%lld\n",af[t]);//最后注意潇洒的用 lld格式输出哦
    }
    return 0;
}

     
     
    
    



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值