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