Codeforces Round 320 (Div. 1) [Bayan Thanks-Round]
E
Walking!
Codeforces
2700
原题
← DF →
翻译中…

There is a sand trail in front of Alice's home.

翻译中…

In daytime, people walk over it and leave a footprint on the trail for their every single step. Alice cannot distinguish the order of the footprints, but she can tell whether each footprint is made by left foot or right foot. Also she's certain that all people are walking by alternating left foot and right foot.

翻译中…

For example, suppose that one person walked through the trail and left some footprints. The footprints are RRLRL in order along the trail ('R' means right foot and 'L' means left foot). You might think the outcome of the footprints is strange. But in fact, some steps are resulting from walking backwards!

翻译中…

There are some possible order of steps that produce these footprints such as $1 → 3 → 2 → 5 → 4$ or $2 → 3 → 4 → 5 → 1$ (we suppose that the distance between two consecutive steps can be arbitrarily long). The number of backward steps from above two examples are $2$ and $1$ separately.

翻译中…

Alice is interested in these footprints. Whenever there is a person walking trough the trail, she takes a picture of all these footprints along the trail and erase all of them so that next person will leave a new set of footprints. We know that people walk by alternating right foot and left foot, but we don't know if the first step is made by left foot or right foot.

翻译中…

Alice wants to know the minimum possible number of backward steps made by a person. But it's a little hard. Please help Alice to calculate it. You also need to construct one possible history of these footprints.

翻译中…

Input

翻译中…

Only one line containing the string $*S*$ ($1 ≤ |*S*| ≤ 100 000$) containing all footprints in order along the trail from entrance to exit.

翻译中…

It is guaranteed that there is at least one possible footprint history.

翻译中…

Output

翻译中…

You should output $2$ lines.

翻译中…

The first line should contain a number denoting the minimum number of backward steps.

翻译中…

The second line should contain a permutation of integers from 1 to $|*S*|$. This permutation should denote the order of footprints that may possible be used by person walked there.

翻译中…

If there are several possible answers, you may output any of them.

翻译中…

Note

翻译中…

For the first sample, one possible order is $2 → 5 → 1 → 3 → 4$, among them only the step $5 → 1$ is backward step so the answer is $1$.

翻译中…

For the second example one possible order is just to follow the order of input, thus there are no backward steps.

翻译中…

For the third sample, there will be $4$ backward steps because every step from L to R will be a backward step.

翻译中…

样例

Input #1
RRLRL
Output #1
1
2 5 1 3 4
InputCopy OutputCopy
Input #2
RLRLRLRLR
Output #2
0
1 2 3 4 5 6 7 8 9
InputCopy OutputCopy
Input #3
RRRRRLLLL
Output #3
4
4 9 3 8 2 7 1 6 5
InputCopy OutputCopy
题目信息
题号
578E
时间限制
1 s
内存限制
256 MB
标签
构造
贪心

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。