#965. [蓝桥杯]字母移位
[蓝桥杯]字母移位
题目背景
十五届蓝桥杯C++省赛
题目描述
字母移位:表示将字母按照字母表的顺序进行移动。
例如:'b' 向右移动一位是'c’,'f'向左移动两位是'd'。
特别地,'a'向左移动一位是'z','z'向右移动一位是'a'。
给定一个仅包含小写字母且长度为 n 的字符串 s,以及 n 个正整数 ,,……,接下来对字符串s按如下规律操作:
1、将第 1位字符向左移动 位;
2、再将第 1、2 位字符都向右移动位;
3、再将第 1、2、3 位字符都向左移动 位;
4、再将第 1、2、3、4 位字符都向右移动位;
以此类推,直到将 s 的第1到第 n 位字符都(按规律向左或向右)移动 位。
最后,将操作完成后的字符串 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 ≤ )
第二行输入一个仅包含小写字母且长度为 n的字符串s
第三行输入 n个整数、……(1 ≤ a ≤),整数之间以一个空格隔开。
输出格式
输出一个字符串,表示操作完成后的字符串 s
样例
5
abcde
1 3 5 7 9
vxvbv
评分标准
6分:能正确输出第一组数据; 6分:能正确输出第二组数据; 6分:能正确输出第三组数据; 6分:能正确输出第四组数据; 6分:能正确输出第五组数据; 6分:能正确输出第六组数据; 6分:能正确输出第七组数据; 6分:能正确输出第八组数据; 6分:能正确输出第九组数据; 6分:能正确输出第i组数据。