已结束 GESP欢乐赛#78

A7475 | 皓仔的字母变换

时间限制1s
内存限制128MB
通过 / 提交0/0

题目描述

皓仔拿到了一段字符串,这段字符串中可能包含大写字母、小写字母、数字、空格和其他符号。

现在给定一个整数 $x$,皓仔需要按照下面的规则对字符串进行变换:

- 如果字符是大写字母,则在大写字母表中向后移动 $x$ 位;
- 如果字符是小写字母,则在小写字母表中向前移动 $x$ 位;
- 其他字符保持不变。

字母移动时采用循环方式。

例如:

- 大写字母 Z 向后移动 $1$ 位会变成 A
- 小写字母 a 向前移动 $1$ 位会变成 z

请你输出变换后的字符串。

输入格式

第一行输入一个字符串 $s$,表示需要变换的字符串。

第二行输入一个整数 $x$,表示字母移动的位数。

字符串 $s$ 中可能包含空格。

输出格式

输出一行,表示变换后的字符串。

输入输出样例

输入 #1
Abc XYZ!
1
输出 #1
Bab YZA!
C++ 编辑器
输入
输出