UVA 1149-Bin Packing

来源:互联网 发布:ketchup mac 编辑:程序博客网 时间:2024/06/06 17:48

UVA 1149-Bin Packing

题目大意:给出物体个数和套子大小,一个套最多放俩个物体,求最少要多少套子

解题思路:排序后,最大与最小相加,看是否小于套子大小

#include <stdio.h>#include <iostream>using namespace std;int cmd(const void *a, const void *b) {    return *(int*)a - *(int*)b;}int main() {    int n;    int m, l;    int a[1000000];    cin >> n;    while(n--) {        cin >> m;        cin >> l;        for(int i = 0; i < m; i++) {            cin >> a[i];        }        int count = 0;        qsort(a, m, sizeof(int),cmd);        int j = 0;        int i;        for(i = m - 1; i >j; i--) {            if(a[i] + a[j] <= l)                j++;            count++;        }        if(i == j)            count++;        cout << count << endl;        if(n != 0)            printf("\n");    }    return 0;}
0 0
原创粉丝点击