Problem Statement
Given is a string S consisting of L and R.
Let N be the length of S. There are N squares arranged from left to right, and the i-th character of S from the left is written on the i-th square from the left.
The character written on the leftmost square is always R, and the character written on the rightmost square is always L.
Initially, one child is standing on each square.
Each child will perform the move below 10^{100} times:
Move one square in the direction specified by the character written in the square on which the child is standing. L denotes left, and R denotes right.
Find the number of children standing on each square after the children performed the moves.
Constraints
S is a string of length between 2 and 10^5 (inclusive).
Each character of S is L or R.
The first and last characters of S are R and L, respectively.
Input
Input is given from Standard Input in the following format:
S
Output
Print the number of children standing on each square after the children performed the moves, in order from left to right.
Sample Input 1
RRLRL
Sample Output 1
0 1 2 1 1
After each child performed one move, the number of children standing on each square is 0, 2, 1, 1, 1 from left to right.
After each child performed two moves, the number of children standing on each square is 0, 1, 2, 1, 1 from left to right.
After each child performed 10^{100} moves, the number of children standing on each square is 0, 1, 2, 1, 1 from left to right.
Sample Input 2
RRLLLLRLRRLL
Sample Output 2
0 3 3 0 0 0 1 1 0 2 2 0
Sample Input 3
RRRLLRLLRRRLLLLL
Sample Output 3
0 0 3 2 0 2 1 0 0 0 4 4 0 0 0 0
题意:
n个广场,每个广场的地上都有一个字母R或者L,刚开始每个广场长都有一个小孩,然后给你一个字符串,代表着一排广场上分别是什么字母;R是向右移动,L是向左移动;然后经过10^100次移动之后,每个广场上各有多少个人;
思路:
模拟一下,然后找规律,就会发现,当进行10^100次方操作之后,只有一种情况的广场上才有孩子,也就是RL相邻的时候;
由此我们可以发现,当r > l && (r - l)%2 == 1 时,如果l%2 == 0,r比l大1;否则l比r大1。同理可推到l > r的情况