#include <bits/stdc++.h>
using namespace std;
const int MAX = 3e5;
int ile_zderzen[MAX];
int main(){
int n; cin >> n;
string slowo; cin >> slowo;
bool czy_zderza_sie = true;
while(czy_zderza_sie){
for(int i = 0; i < n - 1; i++){
if(slowo[i] == 'P' and slowo[i + 1] == 'L'){
swap(slowo[i], slowo[i + 1]);
ile_zderzen[i]++;
ile_zderzen[i + 1]++;
}
}
//
int wsk = 0;
while(wsk < n - 1){
if(slowo[wsk] == 'P' and slowo[wsk + 1] == 'L'){
czy_zderza_sie = true;
break;
}
else{
czy_zderza_sie = false;
}
wsk++;
}
}
for(int i = 0; i < n; i++){
cout << ile_zderzen[i] << " ";
}
cout << "\n";
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 | #include <bits/stdc++.h> using namespace std; const int MAX = 3e5; int ile_zderzen[MAX]; int main(){ int n; cin >> n; string slowo; cin >> slowo; bool czy_zderza_sie = true; while(czy_zderza_sie){ for(int i = 0; i < n - 1; i++){ if(slowo[i] == 'P' and slowo[i + 1] == 'L'){ swap(slowo[i], slowo[i + 1]); ile_zderzen[i]++; ile_zderzen[i + 1]++; } } // int wsk = 0; while(wsk < n - 1){ if(slowo[wsk] == 'P' and slowo[wsk + 1] == 'L'){ czy_zderza_sie = true; break; } else{ czy_zderza_sie = false; } wsk++; } } for(int i = 0; i < n; i++){ cout << ile_zderzen[i] << " "; } cout << "\n"; return 0; } |
English