您的位置:首页 > 其它

第五道(DFS)水题!装载问题

2018-03-27 20:16 162 查看

装载问题

Time Limit: 1000 ms   Memory Limit: 128 MB

Description

有一批共n个集装箱要装上艘载重量为c的轮船,其中集装箱i的重量为wi。找出一种最优装载方案,将轮船尽可能装满,即在装载体积不受限制的情况下,将尽可能重的集装箱装上轮船。

Input

由文件load.in给出输入数据。第一行有2个正整数n和c。n是集装箱数,c是轮船的载重量。接下来的1行中有n个正整数,表示集装箱的重量。

Output

将计算出的最大装载重量输出到文件load.out。

Sample Input

5 10
7 2 6 5 4

Sample Output

10
话说不是深搜吗……怎么这么简单
AC CODE:#include<bits/stdc++.h>
using namespace std;
long long a[66666],x[2001];
long long n,c,i,j;
int main(){
cin>>n>>c;
for(i=1;i<=n;i++) cin>>x[i];
for(i=1;i<=n;i++) {
for(j=c;j>=x[i];j--){
a[j]=max(a[j],a[j-x[i]]+x[i]);
}
}
cout<<a[c];
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: