CSU 1775: 悲催的移寝
2016-07-27 10:18
246 查看
题目:
对于csuxushu来说,能够在CSU(California State University)上学是他一生的荣幸,而换校区搬寝室则是他最大的不幸。顺利通过省赛选拔,开心的csuxushu现在需要着手准备搬家事宜。
对于好学的csuxushu来说,唯一头疼的就是书籍的搬运了,因为他的书实在是太多了。为了防止书籍在运输过程中受损,他打算定制特制的储物保护箱。为了简单起见,我们假设他所有的书都是一样规格。由于是批量定制,这些储物箱都有相同的长度L,宽度和厚度都是一本书的宽度和厚度。csuxushu有一个特殊的要求,那就是每个储物箱最多只能放两本书。当然,他需要运走所有的N本书,并且每一个储物箱里书的总长度不能超过L。
尽管校队队员给了csuxushu许多奖励,csuxushu还是想定尽可能少的储物箱,以求节约经费,然而面对这么困难的问题他显然是一脸懵逼,这时候他想到了你——全CSU最厉害的程序员来帮助他解决这个问题。
第一行一个整数T,代表有T组数据,之后一个空行并且接下来每两组数据之间有一个空行。
每组数据第一行,为1个整数n (1 ≤ n ≤ 10^5),代表有n本书。第二行,为1个整数L ,1≤l ≤ 10000 ,为特制储物箱长度。接下来n行,分别为每本书的长度li,li≤l。
每组数据输出一行,即csuxushu至少需要定多少储物箱。
这个题目也是挺坑的,需要的输出格式是2个数之间还有一个空行。
这个题目就是先排序后用贪心算法,虽然很难说清楚,不过算法应该是对的。
代码:
Description
对于csuxushu来说,能够在CSU(California State University)上学是他一生的荣幸,而换校区搬寝室则是他最大的不幸。顺利通过省赛选拔,开心的csuxushu现在需要着手准备搬家事宜。对于好学的csuxushu来说,唯一头疼的就是书籍的搬运了,因为他的书实在是太多了。为了防止书籍在运输过程中受损,他打算定制特制的储物保护箱。为了简单起见,我们假设他所有的书都是一样规格。由于是批量定制,这些储物箱都有相同的长度L,宽度和厚度都是一本书的宽度和厚度。csuxushu有一个特殊的要求,那就是每个储物箱最多只能放两本书。当然,他需要运走所有的N本书,并且每一个储物箱里书的总长度不能超过L。
尽管校队队员给了csuxushu许多奖励,csuxushu还是想定尽可能少的储物箱,以求节约经费,然而面对这么困难的问题他显然是一脸懵逼,这时候他想到了你——全CSU最厉害的程序员来帮助他解决这个问题。
Input
第一行一个整数T,代表有T组数据,之后一个空行并且接下来每两组数据之间有一个空行。每组数据第一行,为1个整数n (1 ≤ n ≤ 10^5),代表有n本书。第二行,为1个整数L ,1≤l ≤ 10000 ,为特制储物箱长度。接下来n行,分别为每本书的长度li,li≤l。
Output
每组数据输出一行,即csuxushu至少需要定多少储物箱。
Sample Input
1 10 80 70 15 30 35 10 80 20 35 10 30
Sample Output
6
这个题目也是挺坑的,需要的输出格式是2个数之间还有一个空行。
这个题目就是先排序后用贪心算法,虽然很难说清楚,不过算法应该是对的。
代码:
#include<iostream> #include<algorithm> using namespace std; int list[100000]; int main() { int t, n, l; int low, high; int sum; cin >> t; for (int ii = 0; ii < t;ii++) { cin >> n >> l; for (int i = 0; i < n; i++)cin >> list[i]; sort(list, list + n); low = 0; high = n - 1; sum = 0; while (low < high) { if (list[low] + list[high] <= l)low++; high--; sum++; } if (low == high)sum++; cout << sum << endl<<endl; } return 0; }
相关文章推荐
- 五.swift - 数组和字典
- 最大和(codevs 1648)
- kafka源码分析之kafkaApis
- 解数独
- dwr.jar简介
- c语言描述的快速排序法
- Spring注入方式及用到的注解
- 83. Remove Duplicates from Sorted List
- C语言中continue和break、return的区别与联系
- poj 2506 Tiling(大数+递推)
- iOS之UITabBar的简单使用
- TextView 你真的懂我么
- HTML初涉(4)
- intellijidal如何将一个普通的java项目转变成maven项目
- Redis 命令
- 分类器
- 顺序表应用1:多余元素删除之移位算法 7.16补
- POJ-2752 Seek the Name, Seek the Fame(kmp中next数组的应用)
- <item> tag requires a 'drawable' attribute"-selector设置颜色不成功-解决方案
- linux磁盘挂载