AtCoder Grand Contest 044
翻译中…
Problem Statement
翻译中…
There are $3^N$ people dancing in circle. We denote with $0,1,\dots, 3^{N}-1$ the positions in the circle, starting from an arbitrary position and going around clockwise. Initially each position in the circle is occupied by one person.
翻译中…
The people are going to dance on two kinds of songs: salsa and rumba.
翻译中…
- When a salsa is played, the person in position
$i$goes to position$j$, where$j$is the number obtained replacing all digits$1$with$2$and all digits$2$with$1$when reading$i$in base$3$(e.g., the person in position$46$goes to position$65$). - When a rumba is played, the person in position
$i$moves to position$i+1$(with the identification$3^N = 0$).
翻译中…
You are given a string $T=T_1T_2\cdots T_{|T|}$ such that $T_i=$S if the $i$-th song is a salsa and $T_i=$R if it is a rumba. After all the songs have been played, the person that initially was in position $i$ is in position $P_i$. Compute the array $P_0,P_1,\dots, P_{3^N-1}$.
翻译中…
Constraints
翻译中…
$1 \le N \le 12$$1 \le |T| \le 200,000$$T$contains only the charactersSandR.
翻译中…
Input
翻译中…
Input is given from Standard Input in the following format:
翻译中…
N
T
翻译中…
Output
翻译中…
You should print on Standard Output:
翻译中…
P_0 P_1 \cdots P_{3^N-1}
翻译中…
样例
Input #1
1
SRS
Output #1
2 0 1
Before any song is played, the positions are: $0$, $1$, $2$.
When we say "person $i$", we mean "the person that was initially in position $i$".
1. After the first salsa, the positions are: $0$, $2$, $1$.
2. After the rumba, the positions are: $1$, $0$, $2$ (so, person $0$ is in position $1$, person $1$ is in position $0$ and person $2$ is in position $2$).
3. After the second salsa, the positions are $2$, $0$, $1$ (so, person $0$ is in position $2$, person $1$ is in position $0$ and person $2$ is in position $1$).
Input #2
2
RRSRSSSSR
Output #2
3 8 1 0 5 7 6 2 4
Input #3
3
SRSRRSRRRSRRRR
Output #3
23 9 22 8 3 7 20 24 19 5 18 4 17 12 16 2 6 1 14 0 13 26 21 25 11 15 10
题目信息
题面与样例版权归 AtCoder 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。