求代码QAQ 玄关
  • 板块灌水区
  • 楼主wangyuxi008
  • 当前回复4
  • 已保存回复4
  • 发布时间2024/8/26 19:27
  • 上次更新2024/8/26 21:12:23
查看原帖
求代码QAQ 玄关
773346
wangyuxi008楼主2024/8/26 19:27
字符串滚动
时间限制:C/C++ 1000MS,其他语言 2000MS
内存限制:C/C++ 256MB,其他语言 512MB
分数:100
描述

Lee有一个长度为 n ,由小写字母组成的字符串 s 。现在他要对其进行 q 次操作:
对于每次操作,他指定一个位置 a(0≤a≤n−1) ,将字符串 s 该位置的字符向后滚动 b 个单位。这里向后滚动的定义是,在字母表a-z上,字母 a 向后滚动一个单位变为字母 b ,而字母 z 向后滚动一个单位变为字母 a 。

此外,该操作的滚动会扩散,滚动单位数 x 会随着距离线性衰减。例如,当 a=3 且 b=3 时:
[+0+1+2+3+2+1+0]
[\text { (+ } \mathrm{n} \text { 代表向后滚动 }\mathrm{n} \text { 次) }
]

扩散到字符串外部的滚动无效。

输入描述

输入
第一行一个整数 t, 代表 t 组数据。
随后每组数据包含以下内容:

第一行一个字符串 s ,表示原始字符串。
第二行一个整数 q ,表示操作次数。
接下来 q 行,每行包含两个整数: a 和 b ,代表一个操作中指定的位置和滚动单位数。
输出描述

输出
对于每组数据,输出经过 q 次滚动后的字符串。

用例输入 1 

2
abcde
3
0 5
0 4
0 1
zzzzz
1
2 5
用例输出 1 

fffff
jihgf
kihgf
cdedc
提示

数据范围
所有数据的字符串长度和不超过 10 ^ 5.

1≤b≤10 ^5
 1≤q≤500
2024/8/26 19:27
加载中...