最优装载 时间限制(普通/Java):3000MS/10000MS 运行内存限制:65536KByte
2017-04-12 16:33
302 查看
描述
有一批集装箱要装上一艘载重量为c的轮船。其中集装箱i的重量为Wi。最优装载问题要求确定在装载体积不受限制的情况下,将尽可能多的集装箱装上轮船。
编程任务: 对于给定的n个集装箱和轮船的载重量C,编程计算装入最多时的集装箱个数。
输入
输入由多组测试数据组成。每组测试数据输入的第1行中有2个正整数n和C。正整数n是集装箱个数;正整数C是轮船的载重量。接下来的一行中有n个整数,分别表示n个集装箱的重量,它们之间用空格分隔。
输出
对应每组输入,输出的每行是计算出的装入最多时的集装箱个数。
样例输入
4 5
3 5 2 1
样例输出
2
思路 : 首先先从小到大排序,因为要装最多的集装箱,所以要从重量小的开始装。有贪心的意思了。#include<iostream>
#include<algorithm>
#include<cstdio>
using namespace std;
int main()
{
int n,m,a[10000],i,j,sum,ans;
while(scanf("%d %d",&n,&m)!=EOF)
{
sum=0,ans=0;
for(i=0; i<n; i++)
{
scanf("%d",&a[i]);
}
sort(a,a+n);
for(i=0; i<n; i++)
{
if(sum+a[i]<=m)
{
sum=sum+a[i];
ans++;
}
else
break;
}
printf("%d\n",ans);
}
return 0;
}
有一批集装箱要装上一艘载重量为c的轮船。其中集装箱i的重量为Wi。最优装载问题要求确定在装载体积不受限制的情况下,将尽可能多的集装箱装上轮船。
编程任务: 对于给定的n个集装箱和轮船的载重量C,编程计算装入最多时的集装箱个数。
输入
输入由多组测试数据组成。每组测试数据输入的第1行中有2个正整数n和C。正整数n是集装箱个数;正整数C是轮船的载重量。接下来的一行中有n个整数,分别表示n个集装箱的重量,它们之间用空格分隔。
输出
对应每组输入,输出的每行是计算出的装入最多时的集装箱个数。
样例输入
4 5
3 5 2 1
样例输出
2
思路 : 首先先从小到大排序,因为要装最多的集装箱,所以要从重量小的开始装。有贪心的意思了。#include<iostream>
#include<algorithm>
#include<cstdio>
using namespace std;
int main()
{
int n,m,a[10000],i,j,sum,ans;
while(scanf("%d %d",&n,&m)!=EOF)
{
sum=0,ans=0;
for(i=0; i<n; i++)
{
scanf("%d",&a[i]);
}
sort(a,a+n);
for(i=0; i<n; i++)
{
if(sum+a[i]<=m)
{
sum=sum+a[i];
ans++;
}
else
break;
}
printf("%d\n",ans);
}
return 0;
}
相关文章推荐
- 设置内存限制和运行时间,php回调函数
- java获取当前应用的运行信息(内存,线程,运行时间,状态等)
- Java混乱器Zelix KlassMaster逆向工程(二)软件运行流程以及爆破去除时间限制
- Java统计程序运行时间(转)
- java:24G文件写入所要时间23.9分,读取只有67秒(1G内存测试)
- 关于 Java源文件带有package的普通程序和Applet编译和运行时错误的处理方法
- JAVA 测试程序代码运行时间
- Java多线程运行时,尽可能调用单例对象、工具类和静态方法,这样可以减少内存的占用量
- 关于计算Java程序运行时间 及Java代码--JUnit
- Java精确测量代码运行时间 代码执行时间 纳秒 nanoTime
- java 脚本运行设置初始内存大小
- 内存动态分配的首先适应、最优适应、最坏适应算法的实现(java 版)
- 获得系统时间及JAVA运行时环境参数
- 关于 Java源文件带有package的普通程序和Applet编译和运行时错误的处理方法
- 统计方法运行时间【Java实现】
- Java内存大小限制
- VB中限制程序运行时间
- 内存动态分配的首先适应、最优适应、最坏适应算法的窗口演示(java版)
- 实现Java程序间隔时间运行
- ADF运行过程中java内存偏小