atcoder#AGC044C. [AGC044C] Strange Dance
[AGC044C] Strange Dance
题目描述
人の人が輪になって踊っています。 輪の中の人がいる位置に、 の番号を、適当な場所から始めて時計回りに付けます。はじめ、これらの位置それぞれに一人の人が立っています。
これから二種類の曲、サルサとルンバが流れ、人々はそれに合わせて踊ります。
- サルサが流れたら、位置 にいる人は以下で述べるような位置 に移動します。 は、 を 進法で表記し、 という桁をそれぞれ に、 という桁をそれぞれ に置き換えて得られる数です (例えば、位置 の人は位置 に移動します)。
- ルンバが流れたら、位置 にいる人は位置 に移動します。ここで、位置 は位置 とみなします。
文字列 が与えられます。これは、S
なら 番目に流れる曲がサルサであり、R
ならルンバであることを表します。 はじめ位置 に立っていた人が、すべての曲が流れたあとに位置 に立っているとします。 列 を求めてください。
输入格式
入力は標準入力から以下の形式で与えられる。
输出格式
以下の形式で標準出力に出力せよ。
题目大意
有 个人在绕圈圈跳舞。我们从任意一个人开始,给这些人环绕标号,记为 。
现在有两种舞 :
- Salasa 舞。第 个人走向第 个位置当且仅当他们的三进制表示, 对应 , 对应 。比如,46 可以走向 65,当然 65 也走向 46。
- Rumba 舞。所有人走向编号加 的位置。如果等于 ,去 .
现在给你一个 T 序列表示以上两种舞。请问最后每个人站在哪里?
, 。
1
SRS
2 0 1
2
RRSRSSSSR
3 8 1 0 5 7 6 2 4
3
SRSRRSRRRSRRRR
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
提示
制約
- は
S
、R
からなる。
Sample Explanation 1
最初の曲が流れる前に位置 に立っていた人を人 とします。 1. サルサが一度目に流れたあと、人 はそれぞれ位置 に立っています。 2. ルンバが流れたあと、人 はそれぞれ位置 に立っています。 3. サルサが二度目に流れたあと、人 はそれぞれ位置 に立っています。