您好,欢迎来到微智科技网。
搜索
您的当前位置:首页最优装载 算法设计分析

最优装载 算法设计分析

来源:微智科技网


最优装载 算法设计分析

有一批集装箱要装上一艘载重量为c的轮船。其中集装箱i的重量为Wi。最优装载问题要求确定在装载体积不受的情况下,将尽可能多的集装箱装上轮船。

编程任务:

对于给定的n个集装箱和轮船的载重量C,编程计算装入最多时的集装箱个数。

Input

输入由多组测试数据组成。

每组测试数据输入的第1行中有2个正整数n和C。正整数n是集装箱个数;正整数C是轮船的载重量。接下来的一行中有n个整数,分别表示n个集装箱的重量,它们之间用空格分隔。

Output

对应每组输入,输出的每行是计算出的装入最多时的集装箱个数。

Sample Input

4 5

3 5 2 1

Sample Output

2

#include

#include

#include

using namespace std;

struct Node

{

int weight;

friend bool operator <(Node a,Node b)

{

return a.weight > b.weight;

}

};

int main()

{

int n,c,num,sum;

Node p;

while(cin>>n>>c)

{

priority_queueQ;

while(n--)

{

scanf(\"%d\

Q.push(p);

}

num = sum = 0;

while(!Q.empty())

{

p = Q.top();

Q.pop();

sum += p.weight;

num ++;

if(sum > c)

{

num --;

break;

}

}

cout<}

return 0;

}

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 7swz.com 版权所有 赣ICP备2024042798号-8

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务