A105886.皓仔的字符变换
入门
官方
通过率:0%
时间限制:1.00s
内存限制:128MB
题目描述
皓仔最近在学习一种简单的“字符变换术”。
他准备了一串字符,并决定对其中的每个字符施加同样的魔法:让它在字符编码表中的位置整体向后移动 x 个单位。
不过,这个魔法并不总是安全的——如果变换后的结果仍然是数字字符或英文字母,那么这个字符就算变换成功;否则,这次变换就会失败,记作 -1。
现在,皓仔想请你帮他完成这项字符变换任务。
给定一个字符串 s ,以及一个整数 x。
对于字符串的每个字符 c,进行如下操作:
-
将字符 c 的编码值加上 x,得到一个新字符;
-
如果这个新字符属于以下三类之一:
- 数字字符
0到9 - 大写字母
A到Z - 小写字母
a到z
那么输出该新字符;
- 数字字符
-
否则输出
-1。
你需要按顺序输出每个字符变换后的结果, 结果使用空格隔开。
输入格式
第一行输入一个字符串 s;
第二行输入一个整数 x, 代表字符变换进行移动的数量。
输出格式
输出一行,表示每个字符变换后的结果。
如果某个字符变换后仍是数字字符或英文字母,则输出该字符;否则输出 -1。
相邻结果之间用一个空格分隔。
输入输出样例
输入#1
A8z?b 1
输出#1
B 9 -1 -1 c
说明/提示
【数据范围】
对于所有测试数据保证: 0≤∣s∣≤106,0≤x≤60。