#include <iostream> #include <string> using namespace std; int main(){ int n; string ants, colls = ""; cin >> n >> ants; int leftAnts = 0; for(char a : ants){ if(a == 'L') leftAnts++; } int currAnt = 0; while(currAnt != n){ if(ants[currAnt] == 'P') break; colls += "0 "; leftAnts--; currAnt++; } int rightAnts = 0; while(currAnt != n){ if(ants[currAnt] == 'P'){ rightAnts++; if(rightAnts <= leftAnts){ colls += to_string(rightAnts * 2 - 1); } else { colls += to_string(leftAnts * 2); } } else { leftAnts--; if(rightAnts <= leftAnts){ colls += to_string(rightAnts * 2); } else { colls += to_string(leftAnts * 2 + 1); } } colls += ' '; currAnt++; } cout << colls; return 0; }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | #include <iostream> #include <string> using namespace std; int main(){ int n; string ants, colls = ""; cin >> n >> ants; int leftAnts = 0; for(char a : ants){ if(a == 'L') leftAnts++; } int currAnt = 0; while(currAnt != n){ if(ants[currAnt] == 'P') break; colls += "0 "; leftAnts--; currAnt++; } int rightAnts = 0; while(currAnt != n){ if(ants[currAnt] == 'P'){ rightAnts++; if(rightAnts <= leftAnts){ colls += to_string(rightAnts * 2 - 1); } else { colls += to_string(leftAnts * 2); } } else { leftAnts--; if(rightAnts <= leftAnts){ colls += to_string(rightAnts * 2); } else { colls += to_string(leftAnts * 2 + 1); } } colls += ' '; currAnt++; } cout << colls; return 0; } |