首先观察题目,n表示输入数据的个数,s表示物品个数,m表示背包容重量,v表示物品单位重量的价值,w表示单个物品的总重量,物品可以分割,并且每个物品只可以拿一次,要求输出在满足包容重量的前提下包内物品价值和的最大值

分析:定义一个表示物品的结构体,属性有单位价值和重量,将每个物品按照单位价值来进行排序,要满足价值和最大的条件的话,那我们的背包就要先从单位价值最大的开始装起,直到背包满

代码如下:

 #include<stdio.h>
struct articles
{
int v;
int w;
}f[];
int main()
{
int i,j,s,m,n,sum;
struct articles t;
scanf("%d",&n);
while(n--)
{
sum=;
scanf("%d %d",&s,&m);
for(i=;i<s;i++)
{
scanf("%d %d",&f[i].v,&f[i].w);
}
for(i=;i<s;i++)
{
for(j=i+;j<s;j++)
{
if(f[j].v>f[i].v)
{
t=f[j];
f[j]=f[i];
f[i]=t;
}
}
}//冒泡排序,按单价降序
for(i=;i<s;i++)
{
if(m>=f[i].w)
{
sum=sum+f[i].v*f[i].w;
m=m-f[i].w;
}else
{
sum=sum+f[i].v*m
m=;
break;
}
}
printf("%d\n",sum);
}
return ;
}

NYOJ-106 简单背包问题的更多相关文章

  1. 【动态规划】简单背包问题II

    问题 B: [动态规划]简单背包问题II 时间限制: 1 Sec  内存限制: 64 MB提交: 21  解决: 14[提交][状态][讨论版] 题目描述 张琪曼:“为什么背包一定要完全装满呢?尽可能 ...

  2. 简单背包问题(0032)-swust oj

    简单背包问题(0032) Time limit(ms): 1000 Memory limit(kb): 65535 Submission: 5657 Accepted: 1714 Accepted 搜 ...

  3. NYOJ 106背包问题

    http://acm.nyist.net/JudgeOnline/problem.php?pid=106 背包问题 时间限制:3000 ms  |  内存限制:65535 KB 难度:3   描述 现 ...

  4. nyoj 106背包问题(贪心专题)

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

  5. nyoj 106 背包问题

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

  6. NYOJ 821 简单求值【简单题】

    /* 解题人:lingnichong 解题时间:2014.10.18   00:46 解题体会:简单题 */ 简单求值 时间限制:1000 ms  |  内存限制:65535 KB 难度:1 描写叙述 ...

  7. nyoj 1205——简单问题——————【技巧题】

    简单问题 时间限制:1000 ms  |  内存限制:65535 KB 难度:2   描述 给你一个n*m的矩阵,其中的元素每一行从左到右按递增顺序排序,每一列从上到下按递增顺序排序,然后给你一些数x ...

  8. nyoj 1237 简单dfs

    最大岛屿 时间限制:1000 ms  |  内存限制:65535 KB 难度:2   描述 神秘的海洋,惊险的探险之路,打捞海底宝藏,激烈的海战,海盗劫富等等.加勒比海盗,你知道吧?杰克船长驾驶着自己 ...

  9. nyoj 38 简单并查集的应用&最小生成树

    #include<stdio.h> #include<stdlib.h> #define inf 0x3fffffff #define N 600 struct node { ...

随机推荐

  1. JSON Web Tokens(JWT)

    现在API越来越流行,如何安全保护这些API? JSON Web Tokens(JWT)能提供基于JSON格式的安全认证.它有以下特点: JWT是跨不同语言的,JWT可以在 .NET, Python, ...

  2. 5)C语言函数(C自考学习)

    函数的概念 在一个程序中,如果在不同地点多次执行某项操作,就可以把完成这项操作的程序段从程序中独立出来,定义成函数,而原来程序中凡需要进行这个操作的程序段可以只用"函数调用"来替代 ...

  3. 如何编写单元测试-基于Spring

    单元测试 首先单元测试真的算是一种"脏活累活",但是我个人感觉还是有必要,至少本人最近开始写单元测试后还是能发现一些"bug"的. 如何写单元测试 单元测试的要 ...

  4. SSH远程连接时间设置

    SSH远程连接时间设置步骤: 1.回到根目录:cd // 2.进入ssh目录:cd etc/ssh 3.编辑sshd_config文件:vi sshd_config 4.按 i 进入编辑状态 5.找到 ...

  5. 【续】抓个Firefox的小辫子,jQuery表示不背这黑锅,Chrome,Edge,IE8-11继续围观中

    引子 昨天我发了一篇文章[抓个Firefox的小辫子,围观群众有:Chrome.Edge.IE8-11],提到了一个Firefox很多版本都存在的问题,而相同的测试页面在Chrome.Edge.IE8 ...

  6. linux环境变量的配置

    1.全局环境变量 vi /etc/profile JAVA_HOME=/opt/modules/jdk1.8.0_11/   export PATH=$PATH:$JAVA_HOME/bin:$JAV ...

  7. Ali OSS 服务端签名并设置回调,客户端上传文件

    一.最近做阿里云oss文件上传开发,一点收获分享给大家,帮助大家绕过一些坑.关于阿里云oss服务的介绍,我这里不做赘述了,可以查看阿里云OSS开发api文档. 在这里我主要介绍下,文件上传流程比较复杂 ...

  8. js的学习(window对象的使用)

    open方法: //语法:var winObj = window.open([url][,name][,options]);  //参数:url:准备在新窗口中显示那个文件.url可以为空字符串,表示 ...

  9. python3.6+linux服务器+django1.11连接MYSQL数据库

    1.django创建一个项目,在项目的settings.py中配置Mysql DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysq ...

  10. 如何在仅主机模式下ping通网路上网

    1 主机的控制面板,找到电脑的实际网卡,勾选,并选择VMware Network Adapter VMnet1 找到虚拟网卡VMware Virtual Ethernet Adapter for VM ...