- なんかはまった。
- 最初deque使ってて分からなくなったのでvectorにした。STL練習大会。
- Case#0でEが出てくれないとかで更にはまる
- 結局55分もかけてるorz... System Testは通ったけど102.66点は痛い
class RoadConstruction {
public:
int getExitTime(vector<string> currentLanes) {
int n=sz(currentLanes);
vector<vector<pair<bool,char> > > lanes(n);
int cars=0;
rep(i,n){
int l=sz(currentLanes[i]);
rep(j,l){
char c = currentLanes[i][j];
lanes[i].push_back(make_pair(false,c));
cars++;
}
}
rep(t,cars){
bool exitable=true;
tr(lanes,it){
if(it==(lanes.end()-1)){
if(it->front().second=='D') return t;
it->erase(it->begin());
if(sz(*it)==0) lanes.erase(it);
goto next;
}else if(exitable){
if(it->front().first){
if(it->front().second=='D') return t;
it->erase(it->begin());
if(sz(*it)==0) lanes.erase(it);
goto next;
} else {
it->front().first=true;
}
}
}
next:;
}
return -1;
}
};