Reverse and Rotate

Luogu
IDLGP10058
Time1000ms
Memory512MB
DifficultyP3
洛谷原创O2优化洛谷月赛
给定一个字符串 $S$ 和 $n$ 次操作,每次操作为以下 $3$ 种形式之一: 1. `< x` 表示将 $S$ 向左循环移动 $x$ 位。例如:$\mathtt{abcde}$ 执行 `< 2` 后变成 $\mathtt{cdeab}$。 2. `> x` 表示将 $S$ 向右循环移动 $x$ 位。例如:$\mathtt{abcde}$ 执行 `> 2` 后变成 $\mathtt{deabc}$。 3. `rev` 表示将 $S$ 翻转。例如:$\mathtt{abcde}$ 执行 `rev` 后变成 $\mathtt{edcba}$。 求 $S$ 在**依次**执行这 $n$ 次操作后得到的字符串 $S'$。 注:对于 $S=s_0s_1\cdots s_{k-1}$,将其向左循环移动 $x$ 位,会变成 $s_{-x}S_{-x+1}\cdots S_{-x+k-1}$;向右循环移动 $x$ 位,会变成 $s_{x}S_{x+1}\cdots S_{x+k-1}$。对于 $x\equiv y\pmod k$,有 $s_x=s_y$。 ## Input 第一行一个字符串 $S$。 第二行一个整数 $n$。 接下来 $n$ 行,每行一个操作。 ## Output 一行一个字符串 $S'$,表示**依次**执行 $n$ 次操作后得到的字符串。 [samples] ## Note **【样例 1 解释】** - 原字符串为 $\mathtt{abcde}$; - 第一次操作后,字符串变为 $\mathtt{deabc}$; - 第二次操作后,字符串变为 $\mathtt{cbaed}$; - 第三次操作后,字符串变为 $\mathtt{aedcb}$。 **【数据规模与约定】** 记 $|S|$ 表示字符串 $S$ 的长度。 | 测试点编号 | 特殊性质 | | :----------: | :----------: | | $1\sim3$ | $\vert S\vert,n,x \le 1000$ | | $4$ | 没有 `rev` 操作 | | $5$ | $S=\mathtt{aa...abb...b}$ | | $6\sim10$ | 无 | 对于 $100\%$ 的数据,$1 \le |S|,n \le 10^6$,$0 \le x \le 10^9$,$S$ 仅由小写字母组成。
Samples
Input #1
abcde
3
> 2
rev
< 2
Output #1
aedcb
API Response (JSON)
{
  "problem": {
    "name": "Reverse and Rotate",
    "description": {
      "content": "给定一个字符串 $S$ 和 $n$ 次操作,每次操作为以下 $3$ 种形式之一: 1. `< x` 表示将 $S$ 向左循环移动 $x$ 位。例如:$\\mathtt{abcde}$ 执行 `< 2` 后变成 $\\mathtt{cdeab}$。 2. `> x` 表示将 $S$ 向右循环移动 $x$ 位。例如:$\\mathtt{abcde}$ 执行 `> 2` 后变成 $\\mathtt{deab",
      "description_type": "Markdown"
    },
    "platform": "Luogu",
    "limit": {
      "time_limit": 1000,
      "memory_limit": 524288
    },
    "difficulty": {
      "LuoguStyle": "P3"
    },
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "LGP10058"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "给定一个字符串 $S$ 和 $n$ 次操作,每次操作为以下 $3$ 种形式之一:\n\n1. `< x` 表示将 $S$ 向左循环移动 $x$ 位。例如:$\\mathtt{abcde}$ 执行 `< 2` 后变成 $\\mathtt{cdeab}$。\n\n2. `> x` 表示将 $S$ 向右循环移动 $x$ 位。例如:$\\mathtt{abcde}$ 执行 `> 2` 后变成 $\\mathtt{deab...",
      "is_translate": false,
      "language": "English"
    }
  ]
}
Full JSON Raw Segments