南阳理工ACM——106背包问题
描述:
- 输入
-
第一行输入一个正整数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
解题思路:
本题先进行排序,然后从大到小进行选择,计算综合的价值。
这也是贪心,但是这是可以分开的整体,所以总体来说还是比较简单的。
这是我的源代码。
#include<stdio.h>
#include<string.h>
void sort(int v[],int w[],int m)
{int i,j,k;int t;for(i=0;i<m-1;i++){k=i;for(j=i+1;j<m;j++)if(v[j]>v[k])k=j;t=v[k];v[k]=v[i];v[i]=t;t=w[k];w[k]=w[i];w[i]=t;}
}
int main()
{int n;int s,m;int v[10],w[10];int i,z;scanf("%d",&n);while(n--){z=0;scanf("%d%d",&s,&m);//printf("Hello\n");for(i=0;i<s;i++)scanf("%d%d",&v[i],&w[i]);sort(v,w,s);//for(i=0;i<s;i++)//printf("%d %d\n",v[i],w[i]);for(i=0;i<s;i++){if(m>w[i]){m=m-w[i];z=z+v[i]*w[i];}else{z=z+m*v[i];break;}}printf("%d\n",z);}return 0;
}
最优:
<pre name="code" class="cpp">
#include<stdio.h>
#define max(a,b) a>b?a:b
int main()
{int n,s,m,v,w,i,j,k;scanf("%d",&n);while(n--){int DP[25]={0};scanf("%d %d",&s,&m);for(i=0;i<s;i++){scanf("%d %d",&v,&w);for(k=0;k<w;k++)for(j=m;j>0;j--)DP[j]=max(DP[j-1]+v,DP[j]);}printf("%d\n",DP[m]);}
}
南阳理工ACM——106背包问题相关推荐
- 南阳理工ACM 题4《ASCII码排序》
4-ASCII码排序 内存限制:64MB 时间限制:3000ms Special Judge: No accepted:76 submit:115 题目描述: 输入三个字符(可以重复)后,按各字符的A ...
- 单调递增最长子序列(南阳理工ACM)
描述 求一个字符串的最长递增子序列的长度 如:dabdbf最长递增子序列就是abdf,长度为4 输入 第一行一个整数0<n<20,表示有n个字符串要处理 随后的n行,每行有一个字符串,该字 ...
- 矩形嵌套 南阳理工ACM
描述 有n个矩形,每个矩形可以用a,b来描述,表示长和宽.矩形X(a,b)可以嵌套在矩形Y(c,d)中当且仅当a<c,b<d或者b<c,a<d(相当于旋转X90度).例如(1, ...
- 南阳理工ACM 题目73 比大小
比大小 时间限制:3000 ms | 内存限制:65535 KB 难度:2 描述 给你两个很大的数,你能不能判断出他们两个数的大小呢? 比如123456789123456789要大于-123456 ...
- 兰州烧饼 南阳理工ACM 题目779
题目779 题目信息 运行结果 本题排行 讨论区 兰州烧饼 时间限制:1000 ms | 内存限制:65535 KB 难度:1 描述 烧饼有两面,要做好一个兰州烧饼,要两面都弄热.当然,一次只能弄 ...
- 南阳理工ACM 题目67 三角形面积
三角形面积 时间限制:3000 ms | 内存限制:65535 KB 难度:2 描述 给你三个点,表示一个三角形的三个顶点,现你的任务是求出该三角形的面积 输入 每行是一组测试数据,有6个整数x1 ...
- Fibonacci数 南阳理工ACM 题目13
Fibonacci数 时间限制:3000 ms | 内存限制:65535 KB 难度:1 描述 无穷数列1,1,2,3,5,8,13,21,34,55...称为Fibonacci数列,它可以递归地 ...
- 奋斗的小蜗牛 南阳理工ACM 题目599
题目599 题目信息 运行结果 本题排行 讨论区 奋斗的小蜗牛 时间限制:1000 ms | 内存限制:65535 KB 难度:1 描述 传说中能站在金字塔顶的只有两种动物,一种是鹰,一种是蜗牛. ...
- 南阳理工计算机与科学技术,南阳理工学院计算机科学与技术咋样
技校网专门为您推荐的类似问题答案 问题1: 急!南阳理工学院计算机科学与技术专业怎么样? 我是这个专业滴,今年大四毕业了.这专业本身是不错,就是咱系那个辅导员赵 dong jiang 太挫了,去了你都 ...
- 南阳师范学院ACM集训队博客使用方法
南阳师范学院ACM集训队博客使用方法 为方便大家交流,我们使用的是同一个用户名和密码,所以请不要随意修改用户名和密码,不然大家都登不上了,谢谢! 首先进入主页:http://www.cnblogs.c ...
最新文章
- 《自然》公布年度十大杰出论文
- EasyUI –tree、combotree学习总结
- A.DongDong破密码
- puppeteer stop redirect 的正确姿势及 net::ERR_FAILED 的解决
- BDS-HA:构建高可用、低延迟的HBase服务
- 【M1芯片兼容】office 2021 Mac正式版最新更新
- Spark的动态资源分配ExecutorAllocationManager
- MQTT工作笔记0006---CONNECT控制报文3
- Linux 相关术语_002
- 华为首次赶超苹果;拼多多遭调查;Google 计划推中国版搜索引擎 | 极客头条
- CentOS7+rsync+sersync实现数据实时同步
- Swift - 29 - 参数的默认值
- 用友软件用友二次开发用友单据导入用友凭证导入工具用友EXCEL导入工具EXCEL导入凭证
- 4.VEH(向量化异常处理)
- 我非英雄,广目无双,我本坏蛋,无限嚣张
- VMware Workstation 无法连接到虚拟机。请确保您有权运行该程序、访问该程序使用的所有目录以及访问所有临时文件目录。VMX进程已经提前退出。
- 中国的地理位置的表述
- centos下ftp安装及添加账户
- 汉字与拼音互转的工具类
- 微信引流的万能方法 微信引流的万能方法