1. 程式人生 > >最優裝載問題

最優裝載問題

部分背包 div tmp ++ 簡單 lse sin pan ret

這個問題比部分背包問題還簡單,先拿輕的再拿重的可以保證最後物品裝的最多。代碼如下:

 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 }

最優裝載問題