zoukankan      html  css  js  c++  java
  • ntoj 808 蚂蚁的难题(八)

    蚂蚁的难题(八)

    时间限制:2000 ms  |  内存限制:65535 KB
    难度:5
    描述

    蚂蚁是一个古玩爱好者,他收藏了很多瓶瓶罐罐。

    有一天,他要将他的宝贝们一字排开, 摆放到一个长度为L的展台上。

    已知他有n件宝贝, 每件宝贝的宽为w,由于这些瓶瓶罐罐的形状特殊,所以在摆放时需要至少X的宽度来摆放他们,(仅摆放时需要X的宽度, 摆放后宽度仍为w)现在已知了每件宝贝的宽度wi,和摆放它们所需的宽度Xi。请你帮蚂蚁计算一下,在这个展台上,他最多能摆多宽的宝贝。

    输入
    有多组测试数据。
    对于每一组测试数据:
    第一行: n L 分别代表有n件宝贝,展台长度为L;(n<1000, L<10000)
    接下来有n行, 每行有两个整数 wi xi 分别代表第i件宝贝的宽度和摆放时需要的宽度。(0<wi <= xi < 10000).
    输出
    输出蚂蚁能够摆出的最大的宽度。
    样例输入
    3 10
    2 3
    3 4
    4 7
    样例输出
    9
     1 #include<iostream>
     2 #include<cstdio>
     3 #include<algorithm>
     4 #include<cstring>
     5 using namespace std;
     6 #define NN 10010
     7 struct T
     8 {
     9     int x,y,c;
    10 }num[NN];
    11 int cmp(T m, T n)
    12 {
    13     if(m.c>n.c)
    14         return 1;
    15     return 0;
    16 }
    17 int dp[NN];
    18 int main()
    19 {
    20     int i,j,k,t,m,n,M,N,nn,mm;
    21     while(cin>>m>>n)
    22     {
    23         memset(dp,0,sizeof(dp));
    24         int k=0;
    25         for(i=0; i<m; i++)
    26         {
    27             cin>>M>>N;
    28             if(N<=n)
    29             {num[k].x=M;num[k].y=N;num[k].c=N-M; k++;}
    30         }
    31         sort(num,num+k,cmp);//按照差值进行排序;
    32         int kk=-1;
    33         for(i=0; i<k ; i++)
    34         {
    35 
    36             for(j=n; j>=num[i].x; j--)
    37             {
    38                 if(n-num[i].y >= j-num[i].x)//判断是否还能往箱子里放
    39                 {
    40                     dp[j]=max(dp[j],dp[j-num[i].x]+num[i].x);
    41                     kk=max(dp[j],kk);
    42                 }
    43             }
    44         }
    45             cout<<kk<<endl;
    46     }
    47     return 0;
    48 }
  • 相关阅读:
    三种创建线程的方式详解。
    HashMap详解 基于jdk1.7
    Urlrewritefilte
    windows下搭建Nexus3私服和基于IDEA15的Maven学习笔记
    SEVERE: Error listenerStart
    我理解的设计模式-------抽象工厂模式
    activemq启动不起来,报错Address already in use: JVM_Bind
    Hibernate一对一双向关联(外键)
    http请求错误码
    跨域(一)
  • 原文地址:https://www.cnblogs.com/lovychen/p/3653976.html
Copyright © 2011-2022 走看看