SRM 222 Div II Level Two: GroceryBagger,STL map 用法

2014-11-23 23:12:00 · 作者: · 浏览: 5
这个题目其实很简单,只要得到每种物品的数量就可以了,用一般的方法也可以做,不过如果使用STL中map
容器的话,那真是轻松加惬意啊!主要是map重载了[]运算符,所以操作起来特别方便。
代码如下:
#include 
#include 
#include 

using namespace std;

class GroceryBagger {
public:
    int minimumBags(int strength, vector 
itemType) { int res = 0; map msi; for (int i = 0; i < itemType.size(); i++) { msi[ itemType[i] ] = 0; } for (int i = 0; i < itemType.size(); i++) { ++msi[ itemType[i] ]; } for ( map::iterator it = msi.begin(); it != msi.end(); it++) { res += (it->second + strength - 1) / strength; } return res; } };