zoukankan      html  css  js  c++  java
  • 水果配载

      2565 水果配载

    Time Limit: 1 Sec  Memory Limit: 64 MB
    Submit: 1042  Solved: 336

    Description

    水果销售公司接了一个单子,现要从公司将货运到火车站。水果都用箱子装好了,现有三种型号的,分别重量为910、462、和235kg的。现在有不同装载量的货车,请根据装载量给不同货车设计配载方案,使装载的重量总和最大。

    Input

    多个测试案例,每个一行,输入货车的最大装载量m(m不超过20000),最后一行是0,不需要处理

    Output

    每个测试案例输出分2行第一行输出"Solution A is:",然后是三种箱子各多少个,中间用一个空格隔开第二行输出"Load A is:",然后是总载重量其中A是第几个测试案例。

    Sample Input

    8000
    0

    Sample Output

    Solution 1 is: 7 2 3
    Load 1 is: 7999

    用v[i]来做标记,作为需要累计的标志(踏板);
    f[i][j]每一列为同种型号货物的累计;
    是完全背包。
     1 #include<stdio.h>
     2 #include<string.h>
     3 #include<stdbool.h>
     4 int f[20001][3];
     5 bool v[20001];
     6 int main()
     7 {
     8    // freopen("a.txt","r",stdin);
     9     int i,j,l,n,cas=0,w[3]={235,462,910};
    10     while(scanf("%d",&n)&&n!=0)
    11     {
    12         cas++;
    13         if(n<235)
    14         {
    15             printf("Solution %d is: 0 0 0
    Load %d is: 0
    ",cas,cas);
    16             continue;
    17         }
    18         memset(v,false,sizeof(v));
    19         memset(f,0,sizeof(f));
    20         v[0]=true;
    21         for(i=0;i<3;i++)
    22             for(j=w[i];j<=n;j++)
    23                 if(v[j-w[i]]&&!v[j])
    24                 {
    25                     for(l=0;l<3;l++)
    26                     {
    27                         if(l==i)
    28                             f[j][l]=f[j-w[i]][l]+1;
    29                         else
    30                             f[j][l]=f[j-w[i]][l];
    31                     }
    32                     v[j]=true;
    33                 }
    34          for(n;n>=235;n--)
    35             if(v[n])
    36             {
    37                 printf("Solution %d is: %d %d %d
    Load %d is: %d
    ",cas,f[n][2],f[n][1],f[n][0],cas,n);
    38                 break;
    39             }
    40     }
    41     return 0;
    42 }
    AC

     Acknowledge:小路 の Blog    http://blog.163.com/lu_jian_bin2006@126/blog/static/48789281200963083132137/

  • 相关阅读:
    ecmall 开发一个新模块
    ecmall 如何新增挂件
    ecmall 主从表的4种模型关系
    ecmall 的一些方法说明
    ecmall 支付成功 订单状态没有改变解决办法
    ecmall 基础类分析
    phpcms 新建模块安装
    phpcms pc_base::load
    strptime()方法
    GDB调试方法精粹
  • 原文地址:https://www.cnblogs.com/get-an-AC-everyday/p/4202854.html
Copyright © 2011-2022 走看看