2009-05-22
SRM148 Div1 Easy: CircleGame
- やるだけ
- なのに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; } };
コメント
トラックバック - https://topcoder-g-hatena-ne-jp.jag-icpc.org/n4_t/20090522