zoukankan      html  css  js  c++  java
  • hdoj1114

    Problem : 1114 ( Piggy-Bank )     Judge Status : Accepted
    RunId : 2598486    Language : G++    Author : huwenbiao
    Code Render Status : Rendered By HDOJ G++ Code Render Version 0.01 Beta
    /***************************************************************\
    *Author: 小呼
    *Created Time: Tue 13 Jul 2010 10:57:39 AM CST
    *File Name: main.cpp
    *Description:01背包的变形。这里要求求最小值,只需将max改成min
    *另外这里要求必须装满背包。二维的形式f[i][v]表示的是前i种物品
    *装到体积为v的背包中恰好装满的最小价值,这样如果f[i][v]不能实现
    *(impossible),要用一个无穷大(1000000000)将它标记下,于是f的
    *初始化是1000000000,而不再是0.(注释全是按“背包”来写的)
    \***************************************************************/

    //*========================*Head File*========================*\\

    #include<iostream>
    #include<stdio.h>
    #include<stdlib.h>
    #include<string.h>
    /*----------------------*Global Variable*----------------------*/
    int
    T,E,F,N,P,W,V,f[
    10010];//变量同题目,f是背包问题中那个一维数组

    //*=======================*Main Program*=======================*//
    using namespace std;

    int
    main(){

    //freopen("input","r",stdin);
    scanf("%d",&T);
    while
    (T--){
    scanf(
    "%d%d",&E,&F);
    V=F-E;
    //背包容量
    scanf("%d",&N);
    f[
    0]=0;//将前0种物品放在容量为0的背包中,最小价值是0
    //将前0种物品放在容量为v(v>0)的背包中是impossible的
    for(int i=1;i<=V;++i)
    f[i]=
    1000000000;
    while
    (N--){
    scanf(
    "%d%d",&P,&W);
    for
    (int v=W;v<=V;++v){

    //上面将f[0]初始化为0,这里就不必讨论了
    //这样可以快15ms左右
    //if(v==W)
    // f[v]=min(f[v],P);
    //else
    f[v]=min(f[v],f[v-W]+P);
    }
    }

    if
    (f[V]==
    1000000000)//这是impossible的标志
    printf("This is impossible.\n");
    else

    printf(
    "The minimum amount of money in the piggy-bank is %d.\n",f[V]);
    }

    return
    0;
    }
  • 相关阅读:
    Ubuntu 使用OpenCV 利用Makefile运行
    YOLOV3——PyTorch训练TensorFlowLite部署模型转换
    PyTorch——学习笔记
    opencv调用摄像头分辨率问题
    Dlib与Opencv中图像格式转换(matrix-Mat)
    Windows下 VS2015 + Dlib + CUDA环境搭建
    OpenCV——银行卡识别
    QT入门
    LeetCode——最长连续回文串
    数值分析--第四章--特征值特征向量计算(乘幂法)
  • 原文地址:https://www.cnblogs.com/Open_Source/p/1904926.html
Copyright © 2011-2022 走看看