2009-05-17
SRM222 Div1 Easy: GroceryBagger
Algorithm Tutorialsで同SRMのMedium問題が例に挙げられていたのだけれど、準備運動代わりにEasyを解いた。
#define all(c) (c).begin(),(c).end()
#define tr(c,i) for(typeof((c).begin()) i=(c).begin(); i!=(c).end(); i++)
#define rep(var,n) for(int var=0;var<(n);var++)
#define found(s,e) ((s).find(e)!=(s).end())
class GroceryBagger {
public:
int minimumBags(int strength, vector <string> itemType) {
map<string,int> m;
tr(itemType,it){
if(found(m,*it)) m[*it]++;
else m[*it]=1;
}
int cnt=0;
tr(m,it){
cnt += (it->second + strength - 1) / strength;
}
return cnt;
}
};
コメント
トラックバック - https://topcoder-g-hatena-ne-jp.jag-icpc.org/n4_t/20090517