背包问题

时间限制:3000 ms  |  内存限制:65535 KB
难度:3
描述
现在有很多物品(它们是可以分割的),我们知道它们每个物品的单位重量的价值v和重量w(1<=v,w<=10);如果给你一个背包它能容纳的重量为m(10<=m<=20),你所要做的就是把物品装到背包里,使背包里的物品的价值总和最大。

输入
第一行输入一个正整数n(1<=n<=5),表示有n组测试数据;
随后有n测试数据,每组测试数据的第一行有两个正整数s,m(1<=s<=10);s表示有s个物品。接下来的s行每行有两个正整数v,w。
输出
输出每组测试数据中背包内的物品的价值和,每次输出占一行。
样例输入
1
3 15
5 10
2 8
3 9
样例输出

65

思路:就是结构体二级排序,先派重量,再排单价。

ac代码:

#include<stdio.h>
#include<algorithm>
using namespace std;
struct node{int v,w;
}a[1010];
bool cmp(node c,node d){if(c.v==d.v)return c.w>d.w;elsereturn c.v>d.v;
}
int main(){int T;scanf("%d",&T);while(T--){int s,m,i,sum=0;scanf("%d%d",&s,&m);for(i=0;i<s;i++)scanf("%d%d",&a[i].v,&a[i].w);sort(a,a+s,cmp);i=0;while(m>=0){if(a[i].w>=m){sum+=a[i].v*m;m-=a[i].w;}else{sum+=a[i].v*a[i].w;m-=a[i].w;}i++;}printf("%d\n",sum);}return 0;
}

NYOJ--106--背包问题相关推荐

  1. NYOJ 106 背包问题

    背包问题 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描述 现在有很多物品(它们是可以分割的),我们知道它们每个物品的单位重量的价值v和重量w(1<=v,w<= ...

  2. NYOJ 30 Gone Fishing JAVA+解析

    Gone Fishing这道题目运用的多次折合成一次这种思想我首次见,我想的一个思路是,每次算一下鱼量和时间代价比,这个代码我没有敲,下面的代码是一位仁兄敲得,我研读了一下,做了一个注释,应该有利于后 ...

  3. 求背包问题所有解(C++实现)

    这是我学习数据结构时的一道上机作业,那时还没养成写注释的习惯,所以各位得受点苦了. 只是简易背包问题. 代码: 展开 1 // 背包问题所有解 2 // 作者:王锦 3 // 邮箱:jinksw@vi ...

  4. NYOJ 99单词拼接(有向图的欧拉(回)路)

    1 /* 2 NYOJ 99单词拼接: 3 思路:欧拉回路或者欧拉路的搜索! 4 注意:是有向图的!不要当成无向图,否则在在搜索之前的判断中因为判断有无导致不必要的搜索,以致TLE! 5 有向图的欧拉 ...

  5. 基因算法解析、设计,以解决背包问题和旅行商问题为例

    一.算法说明 基因算法 基因算法有一套公共的完整的框架,伪代码如下. beginset time t = 0 # first generationinitGeneration() # initiali ...

  6. 硬币找零——背包问题,以及循环、递归、动规共通性

    在这个题目的基础上,我了解了一下这几个"编程写法",并对循环.递归.dp有了新的想法.从原理上,这几个想法都是大事化小.小事化了.只不过方向不同罢了. 根据The Algorith ...

  7. 01背包问题分支限界java_分支限界法-01背包问题

    1.分支限界法介绍 分支限界法类似于回溯法,也是在问题的解空间上搜索问题解的算法.一般情况下,分支限界法与回溯法的求解目标不同.回溯法的求解目标是找出解空间中满足约束条件的所有解:而分支限界法的求解目 ...

  8. 分支限界法 01背包c语言,算法笔记分支限界法01背包问题

    <算法笔记分支限界法01背包问题>由会员分享,可在线阅读,更多相关<算法笔记分支限界法01背包问题(12页珍藏版)>请在人人文库网上搜索. 1.问题描述给定n种物品和一背包.物 ...

  9. 《贪心算法》— NYOJ 贪心算法题目汇总(一)

    题目6 题目信息 运行结果 本题排行 讨论区 喷水装置(一) 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描述 现有一块草坪,长为20米,宽为2米,要在横中心线上放置半径为 ...

  10. ACM1881 01背包问题应用

    01背包问题动态规划应用 acm1881毕业bg 将必须离开的时间限制看作背包容量,先将他们由小到大排序,然后在排完序的数组中对每个实例都从它的时间限制开始(背包容量)到它的延长时间进行遍历: 1 # ...

最新文章

  1. 洛谷.4234.最小差值生成树(LCT)
  2. 终于把 7 年前的 Docker Hub 账号恢复了
  3. INT_PTR 更好的移植性
  4. 电信用户流失预测案例(3)
  5. 【收藏】Maven 生成打包可执行jar包
  6. android camera分辨率设置,请问如何使用camera2设置全屏preview,要求适配所有屏幕尺寸?...
  7. P6619-[省选联考2020A/B卷]冰火战士【树状数组二分】
  8. c#串口程序接收数据并打印_C#程序可打印各种数据类型的大小
  9. 断开式数据集DataSet 1129
  10. vRealize Operations Manager 安装部署
  11. linux下文件系统创建
  12. JSP指令标记和动作标记
  13. 每日算法系列【LeetCode 354】俄罗斯套娃信封问题
  14. Python 操作 DB2 库_亲测可用
  15. html连接sql数据库详解,HTML5 Web SQL数据库使用详解
  16. Python 基础 1加到100 求和
  17. 使用scrapy爬取豆瓣上面《战狼2》影评
  18. Linux-基本使用
  19. android手机查看设备ID,deviceID
  20. 猫咪藏在哪个房间python_猫咪总喜欢把自己藏在不可思议的地方,这是为什么呢?...

热门文章

  1. python数据结构5 - 排序与搜索
  2. pytorch---模型加载与保存(5)使用在不同模型参数下的热启动模式
  3. 博文视点程序员读书节,大咖带你共读十日精彩
  4. 第三:启发式搜索:A* 算法
  5. 一个有趣的说法:多层神经网络的致命问题与过拟合
  6. 一文详解Python中的*可变参数与**关键字参数
  7. 在Ubuntu 16.04 使用命令行安装Nvidia CUDA-9.0以及cudnn7
  8. 蓝桥杯2015年第六届C/C++省赛A组第八题-饮料换购
  9. 力扣-724 寻找数组的中心索引
  10. L1-028 判断素数 (10 分)—团体程序设计天梯赛