#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; } |