C. 回弹光标

    传统题 1000ms 256MiB

回弹光标

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

回弹光标

题目描述

有一条长度为 n 的字符带,位置自左向右依次编号为 1 到 n。初始时,字符带上的每个位置均为字符 'a'

现有一个光标,初始停留在位置 p,并且拥有一个“移动朝向”。初始朝向的确定规则如下:

  • n = 1,则光标永远停留在位置 1,没有移动朝向的概念。
  • n > 1:当初始位置 p = n(即位于最右端)时,朝向为向左;其余所有情况初始朝向均为向右

接下来将进行 q 次操作,光标的朝向状态会在所有操作间持续继承。每次操作会给出一个字符 op+-)和一个非负整数 x,表示一次完整的动作流程:

  1. 移动与回弹:光标沿着当前朝向逐格移动,共移动 x 步。在移动的每一步过程中,一旦光标到达位置 1,其后续朝向立即变为向右;一旦到达位置 n,其后续朝向立即变为向左。光标会在不断的“撞边回弹”中完成这 x 步的移动。
  2. 字符修改:在移动完 x 步并最终停下后,仅对当前停留位置的字符执行一次修改:
    • op+,将该位置的字符在字母表中顺延一位(特别地,'z' 顺延变为 'a')。
    • op-,将该位置的字符在字母表中逆延一位(特别地,'a' 逆延变为 'z')。

特别说明:当 x = 0 时,光标不发生任何移动,朝向也不改变,但仍需对当前停留位置的字符执行一次上述修改。

请你输出所有 q 次操作结束后,光标所在的最终位置,以及整条字符带的内容。

输入格式

第一行包含三个整数 nnppqq。 接下来 qq 行,每行包含一个字符 op 和一个整数 xx

数据范围:

  • 1n,q2×1051 \le n, q \le 2 \times 10^5
  • 1pn1 \le p \le n
  • 0x10180 \le x \le 10^{18}

输出格式

第一行输出一个整数,表示最终位置。

第二行输出一个长度为 nn 的字符串。

输入输出样例 #1

输入 #1

5 2 5
+ 3
- 1
+ 5
+ 0
- 7

输出 #1

2
azczb

【睿爸信奥】入门组算法周赛(20260405)

未参加
状态
已结束
规则
IOI
题目
4
开始于
2026-4-5 0:00
结束于
2026-4-10 20:00
持续时间
4 小时
主持人
参赛人数
15