#include #include #include "doorman.h" using namespace std; int SimulateLine(int maxDiff, string line) { int diff =0; size_t i = 0; while (i < line.size() and abs(diff) <= maxDiff) { if (abs(diff) == maxDiff) { if (diff > 0) { if (line[i] == 'M') { diff--; } else if (i+1 < line.size() and line[i+1] == 'M' ) { line[i+1] = 'W'; diff--; } else { diff++; i--; } } else { if (line[i] == 'W') { diff++; } else if (i+1 < line.size() and line[i+1] == 'W' ) { line[i+1] = 'M'; diff++; } else { diff --; i--; } } } else { switch(line[i]) { case 'W': diff++; break; case 'M': diff--; break; } } i++; } return static_cast(i); }