Vijos 1409-纪念品分组【贪心】
来源:互联网 发布:ubuntu系统如何安装qq 编辑:程序博客网 时间:2024/04/29 23:30
P1409纪念品分组
Accepted
描述
元旦快到了,校学生会让乐乐负责新年晚会的纪念品发放工作。为使得参加晚会的同学所获得 的纪念品价值相对均衡,他要把购来的纪念品根据价格进行分组,但每组最多只能包括两件纪念品, 并且每组纪念品的价格之和不能超过一个给定的整数。为了保证在尽量短的时间内发完所有纪念品,乐乐希望分组的数目最少。
你的任务是写一个程序,找出所有分组方案中分组数最少的一种,输出最少的分组数目。
【限制】
50%的数据满足: 1 <=n <= 15
100%的数据满足: 1 <= n <= 30000, 80 <= W <= 200
格式
输入格式
第1行包括一个整数w,为每组纪念品价格之和的上限= 第2行为一个整数n,表示购来的纪念品的总件数G
第3-n+2行每行包含一个正整数Pi (5 <= Pi <= w3)w表示所对应纪念品的价格。
输出格式
仅1行,包含一个整数, ep最少的分组数目合
样例1
样例输入1[复制]
1009902020305060708090
样例输出1[复制]
6
限制
各个测试点1s
来源
Noip2007普及组第2题
#include<stdio.h>#define INF 0x3f3f3f3f#include<string.h>#include<algorithm>using namespace std;int num[100000];int main(){int w;scanf("%d",&w);int t;scanf("%d",&t);int i,j;int ans=0;for(i=1;i<=t;i++){scanf("%d",&num[i]);}int wc=t;sort(num+1,num+t+1);for(i=1;i<=t;i++){if(i>wc)break;if(i==wc){ans++;break;}for(j=wc;j>=1;j--){if(num[i]+num[j]<=w){num[j]=INF;ans++;wc--;break;}else{ans++;wc--;}}}printf("%d\n",ans);return 0;}
0 0
- Vijos 1409-纪念品分组【贪心】
- Vijos P1409 纪念品分组【贪心】
- Vijos 1409题:纪念品分组
- 纪念品分组 (贪心)
- 纪念品分组(贪心)
- noip2007 纪念品分组 (贪心)
- 纪念品分组(简单贪心)
- 贪心 纪念品分组(NOIP2007)
- 贪心——纪念品分组
- 【贪心】洛谷 P1094 纪念品分组
- 洛谷 1094 纪念品分组 贪心
- NOIP2007普及组 纪念品分组 贪心
- 蓝桥杯ALGO34 纪念品分组(贪心)
- XYNUOJ 1252 纪念品分组—贪心算法
- 普及练习场 贪心 纪念品分组
- 纪念品分组
- 纪念品分组
- 纪念品分组
- c++第三次作业
- Java中list、set、map的输出格式
- JVM调优总结(二)-一些概念
- GitHub与Git指令入门
- http get请求
- Vijos 1409-纪念品分组【贪心】
- 每天一篇python:系统篇
- 虚拟机桥接配置nat配置上网
- 拖欠很久的堆
- NodeJS 中模块module查找过程
- Android 如何快速浏览本地 API文档
- android系统设置里的字体大小导致的布局混乱问题
- OC学习日记Day1:程序怎么执行、类和对象
- LeetCode *** 54. Spiral Matrix