AT_agc044_c.[AGC044C] Strange Dance

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

有 3N3^N 个人围成一圈跳舞。我们从某个位置开始,顺时针依次给圈上的每个人编号为 0,1,…,3N−10,1,\dots,3^N-1。一开始,每个编号的位置上都站着一个人。

接下来会播放两种音乐,分别是“萨尔萨”和“伦巴”,人们会根据音乐跳舞。

  • 当播放萨尔萨时,编号为 ii 的人会移动到编号为 jj 的位置。jj 的获得方式是:将 ii 用三进制表示,把每一位上的 11 替换成 22,每一位上的 22 替换成 11,然后将结果转回十进制。例如,编号 4646 的人会移动到编号 6565 的位置。
  • 当播放伦巴时,编号为 ii 的人会移动到编号为 i+1i+1 的位置。如果 i+1=3Ni+1=3^N,则回到编号 00 的位置。

给定一个字符串 T=T1T2…T∣T∣T=T_1T_2\dots T_{|T|},其中 Ti=T_i=S 表示第 ii 首播放的是萨尔萨,Ti=T_i=R 表示第 ii 首播放的是伦巴。假设一开始编号为 ii 的人是第 ii 个人。所有音乐播放结束后,第 ii 个人最终站在编号 PiP_i 的位置。请输出序列 P0,P1,…,P3N−1P_0,P_1,\dots,P_{3^N-1}。

输入格式

输入从标准输入读入,格式如下:

NN TT

输出格式

请按以下格式输出到标准输出:

P0P_0 P1P_1 ⋯\cdots P3N−1P_{3^N-1}

输入输出样例

  • 输入#1

    1
    SRS

    输出#1

    2 0 1
  • 输入#2

    2
    RRSRSSSSR

    输出#2

    3 8 1 0 5 7 6 2 4
  • 输入#3

    3
    SRSRRSRRRSRRRR

    输出#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

说明/提示

限制条件

  • 1≤N≤121 \le N \le 12
  • 1≤∣T∣≤200, ⁣0001 \le |T| \le 200,\!000
  • TT 由 S 和 R 组成。

样例解释 1

在第一首音乐播放前,编号为 ii 的人是第 ii 个人。

  1. 播放第一次萨尔萨后,编号 0,1,20,1,2 的人分别站在位置 0,2,10,2,1。
  2. 播放伦巴后,编号 0,1,20,1,2 的人分别站在位置 1,0,21,0,2。
  3. 播放第二次萨尔萨后,编号 0,1,20,1,2 的人分别站在位置 2,0,12,0,1。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页