赞
踩
给出n个物体,第i个物体的重量为wi,选择尽量多的物体,使得总重量不超过c,
输出装入物品的个数。
这是典型的贪心算法,只顾眼前,来得到我么的最优解,所以每次选择装入最轻的物体,(如果装的下)
- #include<iostream>
- #include<algorithm>
- using namespace std;
- int main()
- {
- int n,c;//物品的总数,装的总重量
- int sum = 0;//统计我么装入书包的物品数目
- int w[1000];//每个物品的重量
- cin>>n;
- for (int i=0;i<n;i++)
- {
- cin>>w[i];
- }
- sort(w,w+n);
- cin>>c;
- for(int i=0;i<n;i++)
- {
- if(w[i] < c)
- {
- sum++;
- c = c - w[i];
- }
- }
- cout<<sum;
- return 0;
- }

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。