第33533题 程序题
字母移位

题目背景

字母移位

题目描述

字母移位表示将字母按照字母表的顺序进行移动。 例如:'b' 向右移动一位是'c','f'向左移动两位是'd'。 特别地,'a'向左移动一位是'z','z'向右移动一位是'a'。

给定一个仅包含小写字母且长度为 n 的字符串 s,以及 n 个正整数 a1,a2,a3……an,接下来对字符串s按如下规律操作:

  1. 将第 1 位字符向左移动 a1 位;
  2. 再将第 1、2 位字符都向右移动 a2 位;
  3. 再将第 1、2、3 位字符都向左移动 a3 位;
  4. 再将第 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"

输入格式

  1. 第一行输入一个整数n1≤n≤10^5);
  2. 第二行输入一个仅包含小写字母且长度为 n 的字符串s
  3. 第三行输入 n 个整数a1、a2…an1≤a_i≤10^9),整数之间以一个空格隔开。

输出格式

输出一个字符串,表示操作完成后的字符串s

输入输出样例

输入

5
abcde
1 3 5 7 9

输出

vxvbv
编辑模式
程序运行统计
暂无判题统计