USACO section 1.3 Mixing Milk[贪心算法]
2017-05-26 16:37
295 查看
这题的意思就是每个农名提供一定数量的牛奶,不同的农名牛奶单价不一样,现在需要收购一定数量的牛奶怎样才能花费最少?
这题说是用贪心算法,其实没那么多花花心思。就是根据单价给他们排序,从最便宜的开始买。方便排序的话,可以用一个结构体表示农名牛奶的单价以及他能提供的数量。
我的心愿是世界和平!
这题说是用贪心算法,其实没那么多花花心思。就是根据单价给他们排序,从最便宜的开始买。方便排序的话,可以用一个结构体表示农名牛奶的单价以及他能提供的数量。
/* ID: 13913351 LANG: C++ PROG: milk */ #include<iostream> #include<fstream> #include<algorithm> #define cin fin #define cout fout using namespace std; string inputfile="milk.in"; string outputfile="milk.out"; ifstream fin(inputfile.c_str()); ofstream fout(outputfile.c_str()); const int N=5001; typedef struct { int price;//单价 int num;//数量 }node; node farm ; bool cmp(node a,node b) { return a.price<b.price; } int main() { int sum; int M; cin>>sum>>M; int i; for(i=0;i<M;i++) { cin>>farm[i].price>>farm[i].num; } sort(farm,farm+M,cmp); int ans=0; i=0; while(sum>0) { if(farm[i].num<=sum) { ans+=farm[i].num*farm[i].price; } else { ans+=sum*farm[i].price; } sum-=farm[i].num; i++; } cout<<ans<<endl; return 0; }
我的心愿是世界和平!
相关文章推荐
- USACO Section 1.3: Mixing Milk
- 1.3 mixing milk 简单贪心算法
- USACO Section1.3 Mixing Milk 解题报告
- USACO Section 1.3 Mixing Milk
- USACO-Section1.3 Mixing Milk【贪心算法】
- USACO Section 1.3 Mixing Milk
- USACO1.3 混合牛奶Mixing Milk
- 洛谷 2P1208 [USACO1.3]混合牛奶 Mixing Milk
- USACO-Section1.3 Mixing Milk [贪心]
- USCAO-Section 1.3 Mixing Milk
- USACO section 1.3 Combination Lock
- USACO Section 1.3 Barn Repair
- USACO 1.3 Mixing Milk (快排+贪心)
- [USACO1.3]混合牛奶 Mixing Milk-洛谷 1208
- 1.3 Mixing Milk
- [USACO1.3]混合牛奶 Mixing Milk
- USACO 1.3 Mixing Milk
- P1208 [USACO1.3]混合牛奶 Mixing Milk
- P1208 [USACO1.3]混合牛奶 Mixing Milk
- USACO Section1.3 Mixing Milk