#include <iostream>
int main() {
std::ios_base::sync_with_stdio(false);
std::cin.tie(NULL);
std::cout.tie(NULL);
int n, l=0, p=0;
std::string mro;
std::cin >> n;
std::cin >> mro;
int * lewa=new int[n];
int * prawa=new int[n];
for (int i=0; i<n; i++) {
prawa[i]=p;
lewa[n-1-i]=l;
if (mro[i]=='P') {
p++;
}
if (mro[n-1-i]=='L') {
l++;
}
}
//for (int i=0; i<n; i++) {std::cout << prawa[i] << '\t' << lewa[i] << '\n';}
for (int i=0; i<n; i++) {
if (prawa[i]<lewa[i]) {
if (mro[i]=='L') {
std::cout << prawa[i]*2 << ' ';
} else {
std::cout << (prawa[i]*2)+1 << ' ';
}
} else if (lewa[i]<prawa[i]) {
if (mro[i]=='P') {
std::cout << lewa[i]*2 << ' ';
} else {
std::cout << (lewa[i]*2)+1 << ' ';
}
} else {
std::cout << 2*prawa[i] << ' ';
}
}
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 | #include <iostream> int main() { std::ios_base::sync_with_stdio(false); std::cin.tie(NULL); std::cout.tie(NULL); int n, l=0, p=0; std::string mro; std::cin >> n; std::cin >> mro; int * lewa=new int[n]; int * prawa=new int[n]; for (int i=0; i<n; i++) { prawa[i]=p; lewa[n-1-i]=l; if (mro[i]=='P') { p++; } if (mro[n-1-i]=='L') { l++; } } //for (int i=0; i<n; i++) {std::cout << prawa[i] << '\t' << lewa[i] << '\n';} for (int i=0; i<n; i++) { if (prawa[i]<lewa[i]) { if (mro[i]=='L') { std::cout << prawa[i]*2 << ' '; } else { std::cout << (prawa[i]*2)+1 << ' '; } } else if (lewa[i]<prawa[i]) { if (mro[i]=='P') { std::cout << lewa[i]*2 << ' '; } else { std::cout << (lewa[i]*2)+1 << ' '; } } else { std::cout << 2*prawa[i] << ' '; } } return 0; } |
English