A105886.皓仔的字符变换

入门

官方

通过率:0%

时间限制:1.00s

内存限制:128MB

题目描述

皓仔最近在学习一种简单的“字符变换术”。

他准备了一串字符,并决定对其中的每个字符施加同样的魔法:让它在字符编码表中的位置整体向后移动 xx 个单位。

不过,这个魔法并不总是安全的——如果变换后的结果仍然是数字字符或英文字母,那么这个字符就算变换成功;否则,这次变换就会失败,记作 -1

现在,皓仔想请你帮他完成这项字符变换任务。

给定一个字符串 ss ,以及一个整数 xx

对于字符串的每个字符 cc,进行如下操作:

  1. 将字符 cc 的编码值加上 xx,得到一个新字符;

  2. 如果这个新字符属于以下三类之一:

    • 数字字符 09
    • 大写字母 AZ
    • 小写字母 az

    那么输出该新字符;

  3. 否则输出 -1

你需要按顺序输出每个字符变换后的结果, 结果使用空格隔开。

输入格式

第一行输入一个字符串 ss

第二行输入一个整数 xx, 代表字符变换进行移动的数量。

输出格式

输出一行,表示每个字符变换后的结果。

如果某个字符变换后仍是数字字符或英文字母,则输出该字符;否则输出 -1

相邻结果之间用一个空格分隔。

输入输出样例

  • 输入#1

    A8z?b 1

    输出#1

    B 9 -1 -1 c
    

说明/提示

【数据范围】

对于所有测试数据保证: 0s106,0x600 \le \lvert s \rvert \le 10^6, 0 \le x \le 60

首页