11262. Перегрупування дітей


Відправити розв'язок

Бали: 100
Time limit: 1.0s
Memory limit: 250M

Author:
Problem type
Allowed languages
C++, Java, Pascal, Python

Дано рядок \(S\), що складається з символів \(L\) і \(R\). Нехай \(N\) — довжина \(S\).

Є \(N\) квадратів, які розташовані зліва направо, а \(i\)-й символ \(S\) зліва написаний на \(i\)-му квадраті зліва.

Символ, написаний на крайньому лівому квадраті, завжди \(R\), а символ, написаний на крайньому правому квадраті, завжди \(L\).

Спочатку на кожному квадраті стоїть одна дитина. Кожна дитина виконає переміщення написане нижче на квадраті \(10^{100}\) разів:

  • переміститься на один квадрат у напрямку, визначеному символом, який написаний у квадраті, на якому стоїть дитина. \(L\) позначає хід вліво, а \(R\) - вправо.

Знайдіть кількість дітей, які стоять на кожному квадраті після того, як всі виконали необхідну кількість переміщень.

Формат вхідних даних

Вхідний потік містить \(S\) (\(2 \le N \le 10^5\)).

Формат вихідних даних

У вихідний потік вивести кількість дітей, які стоять на кожному квадраті після того, як діти виконали переміщення, у порядку зліва направо. Числа розділяти пропуском.

Примітка

До прикладу 1:

  • Після виконання кожною дитиною одного переміщення кількість дітей, які стоять на кожному квадраті, дорівнює 0, 2, 1, 1, 1.

  • Після того, як кожна дитина виконала два переміщення, кількість дітей, які стоять на кожному квадраті, дорівнює 0, 1, 2, 1, 1.

  • Після виконання кожною дитиною \(10^{100}\) переміщень, кількість дітей, що стоять на кожному квадраті, дорівнює 0, 1, 2, 1, 1.

Приклад вхідних даних

RRLRL

Приклад вихідних даних

0 1 2 1 1

Приклад вхідних даних

RRLLLLRLRRLL

Приклад вихідних даних

0 3 3 0 0 0 1 1 0 2 2 0

Приклад вхідних даних

RRRLLRLLRRRLLLLL

Приклад вихідних даних

0 0 3 2 0 2 1 0 0 0 4 4 0 0 0 0

Коментарі

Ще немає коментарів.