题目描述

PIPI有n种硬币,每种硬币有特定的重量cost[i] 克和它对应的价值val[i]. 
已知有一个承重量为m的存钱罐,里面正好装着重量为m的硬币,问你这个存钱罐中硬币的最小价值是多少? 如果不可能存在m克的情况, 那么就输出”impossible“

输入

多组输入。 
第一行包括两个整数n,m(1<=n<=500,1<=m<=10000) 
接下来n行,每行两个整数v,w,表示第i中硬币的价值与重量。(1<=v<=10000,1<=w<=m)

输出

输出可能的最小价值,如果不可能存在m克的情况, 那么就输出”impossible“

样例输入

2 100
1 1
30 50
2 100
1 1
50 30

样例输出

60
100

#include <iostream>
using namespace std;
#define INF 1e9
int main(void){int n,m;while (scanf("%d%d",&n,&m)!=EOF){int f[m];int cost[n];//每种货币重量  int val[n]; //每种货币价值  for (int i=1;i<=n;i++)scanf("%d%d",&val[i],&cost[i]);for (int i=0; i<=m;i++) f[i]=INF;//初始化全部拼不成功 f[0]=0;//n种硬币,重量为m for (int i=1;i<=n;i++){for (int j=cost[i];j<=m;j++){f[j]=min(f[j],f[j-cost[i]]+val[i]);
//              printf("f[%d]=%d\n",j,f[j]);
//              input:
//              2 100
//              1 1
//              30 50
//              output:
//              f[1]=1
//              f[2]=2
//              f[3]=3
//              f[4]=4
//              f[5]=5
//              ......
//              f[100]=60 }}if (f[m]==INF) printf("impossible\n");  else printf("%d\n",f[m]);}return 0;
}

1079: PIPI的存钱罐(动态规划)相关推荐

  1. 1079: PIPI的存钱罐(完全背包)

    题目描述 PIPI有n种硬币,每种硬币有特定的重量wei[i] 克和它对应的价值val[i]. 已知有一个承重量为m的存钱罐,当里面正好装着重量为m的硬币时,问你这个存钱罐中硬币的最小价值是多少? 如 ...

  2. PIPIOJ 1079: PIPI的存钱罐 完全背包

    题目: http://39.106.164.46/problem.php?id=1079 思路: 题目要求装满,然后又是完全背包.注意初始化时将dp初始化为INF,dp[0]=0即可. 代码如下: # ...

  3. 1079 PIPI的存钱罐

    这个问题的原型就是完全背包问题模型,所不同的是完全背包问题要求的是最大价值,而这个是最小价值 完全背包问题的模型代码是 for (int i = 1; i <= n; ++ i)for (int ...

  4. java实现动态规划算法解决存钱罐问题(piggy bank)

    一.实验目的 练习使用动态规划算法解决实际问题(使用Java语言实现) 二.实验内容 [问题描述] 给定一个空存钱罐的重量和这个存钱罐最多能装进去的重量,现在需要在不打破这个存钱罐的情况下猜测里面最少 ...

  5. 【动态规划】完全背包:存钱罐(恰好装满)

    背包恰好装满问题: 设有n个物品,其重量(或占用空间)分别为w1, W.,...Wn.价值分别为V1,2....n. ← 给定一个总容量为W的背包,每个物品只能整个放入背包或不放.← 问:如何选择放入 ...

  6. 动态规划 背包问题小结 0-1背包(采药 九度第101题) 完全背包(Piggy-Bank POJ 1384) 多重背包(珍惜现在,感恩生活 九度第103题)

    本小结介绍0-1背包.完全背包以及多重背包问题 记忆要点: 0-1背包:二维数组情况下,顺序遍历体积或者倒序均可以                降维情况下需倒序遍历体积 完全背包:数组降维+顺序遍历 ...

  7. 动态规划系列之六01背包问题

    法外狂徒张三是一个探险家,有一次巧合之下进入到一个有宝藏的洞穴里.这个洞穴有很多个不重复的宝贝,同时每个宝贝的重量也不一样.具体来说有: A 重 2 价值为 2 B 重 3 价值为 6 C 重 4 价 ...

  8. 【动态规划】 Little Sub and Piggybank

    目录 [动态规划] Little Sub and Piggybank Problem Input Output Sample Input Sample Output Solution Code [动态 ...

  9. 伍六七带你学算法 动态规划 ——不同路径

    力扣 62. 不同路径 难度 中等 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为"Start" ). 机器人每次只能向下或者向右移动一步.机器人试图达到网格 ...

最新文章

  1. Websphere设备、企业部署应用程序 【应用】
  2. Matplotlib的几个典型绘制实验
  3. php 缺少参数,php - 如何验证JSON响应中是否缺少参数-Laravel 6 - 堆栈内存溢出
  4. VS调试查看寄存器学习总结
  5. 书本练习题7print函数使用
  6. c语言中短路逻辑有与有或例子,C语言零基础教程之运算符和表达式,全面解析,轻松上手...
  7. springmvc自定义404错误处理
  8. 人工智能原理与方法作业1
  9. C语言中报段错误(核心已转储)的常见问题
  10. sort和sorted的区别
  11. C/C++回溯经典练习:马的走法
  12. 面试题:你让工人为你工作7天,给工人的回报是一根金条...
  13. 构建新型现代化智慧博物馆之物联网环境监控方案
  14. 学习Maya学习MayaArnoldArnold
  15. oa系统用什么云服务器,oa系统用什么云服务器
  16. Javaweb——水果系统基础版
  17. 线程的同步与互斥:互斥锁
  18. 【报告】德勤管理咨询2019年境内外TMT标杆企业高管薪酬与激励调研报告
  19. msr颜色复原matlab程序,Retinex 图像去模糊(含MATLAB代码)
  20. 医美分期回归理性,这家分期机构如何跑进第一梯队

热门文章

  1. 水印,数字水印,频域水印(隐形水印)很麻烦!用这个分分钟搞定!
  2. SQL2005断电重启数据库置疑修复成功案例
  3. 根据激光雷达点云中点的坐标计算ring的值
  4. 如何获得新版的CCNP认证
  5. [免费视频教程]UI自动化测试之Jenkins配置教程
  6. 《现代控制理论》 刘豹 第三章
  7. wangeditor php上传本地图片,配置wangEditor 实现图片上传
  8. Linux 应急响应流程及实战演练
  9. HTML5边框的设置(border)
  10. Hadoop + Zookeeper + HBase 配置错误攻略集