Hatena::Grouptopcoder

naoya_t@topcoder RSSフィード

2009-05-17

SRM222 Div1 Easy: GroceryBagger

| 17:49 | SRM222 Div1 Easy: GroceryBagger - naoya_t@topcoder を含むブックマーク はてなブックマーク - SRM222 Div1 Easy: GroceryBagger - naoya_t@topcoder SRM222 Div1 Easy: GroceryBagger - naoya_t@topcoder のブックマークコメント

Algorithm Tutorialsで同SRMのMedium問題が例に挙げられていたのだけれど、準備運動代わりにEasyを解いた。

  • unused codeの削除が足りず, save/compile/submit直前までを3回ループ。時間もったいない!
  • 243.89pt (4'30'')
#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;
  }
};
トラックバック - http://topcoder.g.hatena.ne.jp/n4_t/20090517