贪心法:最优装载问题

这个问题比部分背包问题还简单,先拿轻的再拿重的可以保证最后物品装的最多。代码如下:

 1 #include<iostream>
 2 #include<algorithm>
 3 using namespace std;
 4 const int maxn=1005;
 5 int n;
 6 int w[maxn];
 7 int C;
 8 int ans=0;
 9 int main()
10 {
11     cin>>n;
12     for(int i=1;i<=n;i++)
13     cin>>w[i];
14     sort(w+1,w+n+1);
15     cin>>C;
16     int tmp=0;
17     for(int i=1;i<=n;i++)
18     {
19         tmp+=w[i];
20         if(tmp<=C)
21             ans++;
22         else
23             break;
24     }
25     cout<<ans<<endl;
26     return 0;
27 }
原文地址:https://www.cnblogs.com/aininot260/p/9272911.html