zoukankan      html  css  js  c++  java
  • hdoj2159

    Problem : 2159 ( FATE )     Judge Status : Accepted
    RunId : 2628422    Language : G++    Author : huwenbiao
    Code Render Status : Rendered By HDOJ G++ Code Render Version 0.01 Beta
    /***************************************************************\
    *Author:Hu Wenbiao
    *Created Time: Sun 18 Jul 2010 08:06:00 PM CST
    *File Name: main.cpp
    *Description:二维背包。为了求解方便,将忍耐度放在第一维,杀怪数
    *放在第二维
    \***************************************************************/

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

    #include<iostream>
    #include<stdio.h>
    #include<stdlib.h>
    #include<string.h>
    /*----------------------*Global Variable*----------------------*/
    int
    n,m,k,s,a,b,bag[
    100][100];//bag存放最大经验值
    //*=======================*Main Program*=======================*//
    using namespace std;

    int
    main(){

    //freopen("input","r",stdin);
    while(scanf("%d%d%d%d",&n,&m,&k,&s)!=EOF){
    memset(bag,
    0,sizeof(bag));
    while
    (k--){
    scanf(
    "%d%d",&a,&b);
    for
    (int i=b;i<=m;++i)
    //第一维忍耐度
    for(int j=1;j<=s;++j)//第二维杀怪数
    bag[i][j]=max(bag[i][j],bag[i-b][j-1]+a);
    }

    int
    ans=-
    1;
    for
    (int i=
    1;ans==-1&&i<=m;++i)
    for
    (int j=
    1;j<=s;++j)
    if
    (bag[i][j]>=n)
    ans=i;
    //当找到一个大于n的经验值时,跳出循环,由于是
    //从小到大搜索的,这时的忍耐度花费最小
    if(ans!=-1)
    ans=m-ans;
    printf(
    "%d\n",ans);
    }
    }
  • 相关阅读:
    查看当前系统的shell
    xargs命令,作用雷同|
    shell 行末尾的&含义
    apt-get 安装及卸载,dpkg查询安装文件
    Linux: mv and cp 拷贝不包含目录
    windows下远程连接ubunut
    Linux 清空屏幕
    PageHelper的一些属性设置
    HttpServletRequest
    铁电RAM为何比串行SRAM更好
  • 原文地址:https://www.cnblogs.com/Open_Source/p/1904920.html
Copyright © 2011-2022 走看看