字母移位
题目背景
字母移位
题目描述
字母移位表示将字母按照字母表的顺序进行移动。 例如:'b' 向右移动一位是'c','f'向左移动两位是'd'。 特别地,'a'向左移动一位是'z','z'向右移动一位是'a'。
给定一个仅包含小写字母且长度为 n 的字符串 s,以及 n 个正整数 a1,a2,a3……an,接下来对字符串s按如下规律操作:
- 将第 1 位字符向左移动
a1位; - 再将第 1、2 位字符都向右移动
a2位; - 再将第 1、2、3 位字符都向左移动
a3位; - 再将第 1、2、3、4 位字符都向右移动
a4位; 以此类推,直到将s的第1到第n位字符都(按规律向左或向右)移动an位。
最后,将操作完成后的字符串s输出。
示例:n=5,字符串s="abcde",5 个正整数为1,3,5,7,9:
- 将
"abcde"的第 1 位字符"a"向左移动 1 位,s变为"zbcde"; - 再将
"zbcde"的前 2 位字符"zb"向右移动 3 位,s变为"cecde"; - 再将
"cecde"的前 3 位字符"cec"向左移动5 位,s变为"xzxde"; - 再将
"xzxde"的前 4 位字符"xzxd"向右移动7 位,s变为"egeke"; - 再将
"egeke"的前 5 位字符"egeke"向左移动 9 位,s变为"vxvbv"。 最后输出"vxvbv"。
输入格式
- 第一行输入一个整数
n(1≤n≤10^5); - 第二行输入一个仅包含小写字母且长度为
n的字符串s; - 第三行输入
n个整数a1、a2…an(1≤a_i≤10^9),整数之间以一个空格隔开。
输出格式
输出一个字符串,表示操作完成后的字符串s。
输入输出样例
输入
5
abcde
1 3 5 7 9
输出
vxvbv 本题为编程题,提交代码并运行通过测试点后判分。
正在加载题目数据…
子题
该题型需在试卷/作业中作答,单题练习暂不支持
答案解析