usaco problem76:mixing milk解题报告
来源:互联网 发布:淘宝如何只退款不退货 编辑:程序博客网 时间:2024/04/27 22:22
这道题很简单的贪心算法,写到这里只是为了总结一下
C++ 中map可以简单地实现排序和联系两组数
这里唯一值得注意的地方是map.insert()这个方法在key已存在的情况下并不插入,所以得看一下返回值,如果插入失败,就更改key所关联的值。
/*
ID:thestor1
PROG:milk
LANG:C++
*/
#include <iostream>
#include <fstream>
//#include <utility>
#include <map>
using namespace std;
int main()
{
ifstream is("milk.in");
int N,M;
is>>N>>M;
map<int,int> milk;
for(int ix=0;ix<M;++ix)
{
int price,amount;
is>>price>>amount;
pair<map<int,int>::iterator,bool> ret=milk.insert(make_pair(price,amount));
if(!ret.second)
ret.first->second+=amount;
}
is.close();
//ofstream save("save.txt");
//for(map<int,int>::iterator iter=milk.begin();iter!=milk.end();++iter)
//{
//save<<iter->first<<" "<<iter->second<<endl;
//}
//save.close();
int tPrice=0,tAmount=0;
map<int,int>::iterator iter=milk.begin();
while(tAmount<N)
{
if(N-tAmount>iter->second)
{
tPrice+=iter->first*iter->second;
tAmount+=iter->second;
}
else
{
tPrice+=iter->first*(N-tAmount);
tAmount=N;
}
++iter;
}
ofstream os("milk.out");
os<<tPrice<<endl;
os.close();
return 0;
}
- usaco problem76:mixing milk解题报告
- usaco Mixing Milk 解题报告
- Mixing Milk解题报告
- USACO Training Section 1.3 Mixing Milk 解题报告&AC代码
- USACO Mixing Milk 解题日志
- USACO Milk Measuring 解题报告
- USACO 1.3 Mixing Milk (milk)
- Mixing Milk(USACO)
- USACO 1.3-Mixing Milk
- [USACO] Mixing Milk
- usaco mixing milk
- USACO 1.3 Mixing Milk
- usaco Mixing Milk
- USACO:Mixing Milk
- USACO Mixing Milk
- USACO Mixing Milk
- Mixing Milk USACO
- usaco Mixing Milk
- 免费黑莓theme: 2010 Shanghai World Expo - Shanghai Skyline
- infoq, 一个很好的技术人员的网站
- 草原狼
- 开启MYSQL日志配置
- [OS] 进程管理简介(一)
- usaco problem76:mixing milk解题报告
- php获得二维或多维数组的第一维的长度
- 不求多,求精
- 在Windows CE增加自定义中断处理
- UML基本元素符号
- Web产品设计思路浅解
- B/S结构简介及与C/S结构的区别
- 图书站点首页浅解
- 移动互联网-又一个发财的地方