Hatena::Grouptopcoder

naoya_t@topcoder RSSフィード

2009-05-22

SRM148 Div1 Easy: CircleGame

| 22:44 | SRM148 Div1 Easy: CircleGame - naoya_t@topcoder を含むブックマーク はてなブックマーク - SRM148 Div1 Easy: CircleGame - naoya_t@topcoder SRM148 Div1 Easy: CircleGame - naoya_t@topcoder のブックマークコメント

  • やるだけ
  • なのにeraseで迷う
  • 213.37 (12'12''), passed system test
  • 遅いっす
class CircleGame {
 public:
  int cardsLeft(string deck) {
    vector<int> dk;
    rep(i,sz(deck)){
      switch(deck[i]){
        case 'K': break;
        case 'A': dk.pb(1); break;
        case 'T': dk.pb(10); break;
        case 'J': dk.pb(11); break;
        case 'Q': dk.pb(12); break;
        default: dk.pb(deck[i]-'0'); break;
      }
    }
    int l=sz(dk),ll=l+1;
    while(l<ll){
      rep(i,l){
        if(dk[i]+dk[(i+1)%l]==13) {
          if (i+1==l) {
            dk.erase(dk.begin()+i);
            dk.erase(dk.begin());
            break;
          } else {
            dk.erase(dk.begin()+i+1);
            dk.erase(dk.begin()+i);
            break;
          }
        }
      }
      ll=l;
      l=sz(dk);
    }
    return l;
  }
};
トラックバック - http://topcoder.g.hatena.ne.jp/n4_t/20090522