字母移位

pt143111 程序题 共 个子题

题目背景

字母移位

题目描述

字母移位表示将字母按照字母表的顺序进行移动。 例如:'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. 第一行输入一个整数n(1≤n≤10^5);
  2. 第二行输入一个仅包含小写字母且长度为 n 的字符串s;
  3. 第三行输入 n 个整数a1、a2…an(1≤a_i≤10^9),整数之间以一个空格隔开。

输出格式

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

输入输出样例

输入

5
abcde
1 3 5 7 9

输出

vxvbv

本题为编程题,提交代码并运行通过测试点后判分。

正在加载题目数据…
已答 /
子题
该题型需在试卷/作业中作答,单题练习暂不支持
答案解析
提交记录
共 条 仅展示自由练习提交
正在加载提交记录…
讨论
发布
登录后参与讨论 立即登录
发布讨论需先绑定并验证手机号 去绑定手机号
加载中…
我
我
回复 @
回复 @
发送
还没有人讨论,来发表第一条吧