hdu 2546
来源:互联网 发布:数据库ip地址查询器 编辑:程序博客网 时间:2024/05/22 00:35
#include<stdio.h>#include<string.h>int dp[1000];int Max(int a,int b){return a > b ? a : b;}int main(){int n,max,i,u,j,m,a[1005];while(scanf("%d",&n),n!=0){memset(dp,0,sizeof(dp));max=-1;for(i=1;i<=n;i++){scanf("%d",&a[i]);if(max<a[i]){max=a[i];u=i;}}scanf("%d",&m);if(m<5)//注意考虑{printf("%d\n",m);continue;}for(i=1;i<=n;i++){for(j=m-5;j>=a[i];j--){if(i!=u) dp[j]=Max(dp[j],dp[j-a[i]]+a[i]);}} printf("%d\n",m-dp[m-5]-max);}return 0;}题意:输入n,表示有n种菜可购买,再输入n个数v[i],表示菜的价格,再输入m,表示卡上有m元,规定若卡上余额大于等于5则可购买任意价钱的物品(即使买后余额为负),否则不可购买任何物品,求最后卡上最小余额解法:01背包+贪心:最贵的物品肯定要被购买到,所以先选出来最后购买。先对除了最贵的物品外其余物品进行01背包处理,总容量为m-5,物品费用和价值都为w[i]。
0 0
- HDU 2546
- HDU 2546
- hdu 2546
- HDU 2546
- hdu 2546
- (2546)HDU
- HDU 2546
- hdu--2546
- HDU 2546
- hdu 2546
- HDU 2546
- [HDU] 2546
- HDU-2546
- HDU 2546 饭卡
- HDU 2546 饭卡
- HDU 2546 饭卡
- hdu 2546 饭卡
- hdu 2546 饭卡
- HTML5----移动鼠标:青蛙,蝴蝶,草丛,池塘滑动-jparallax
- Hdu 4612 Warm up (双连通缩点+树的直径)
- Binary Tree Zigzag Level Order Traversal Java
- onItemClick函数无法响应
- [编程之美] PSet2.7 最大公约数问题
- hdu 2546
- notepad++快捷键
- vlc-android截屏以及录像功能的实现
- NYOJ 488【素数环】
- hdu 2602
- 高效利用你的Xcode
- eclipse中Failed to install *.apk on device *: timeout的解决办法!!!
- Android环境变量的设置(详细图解版)
- hbase配置