#jdial. 2026暑假CSP-J模拟赛05-T1 程老师的旋转密码盘
2026暑假CSP-J模拟赛05-T1 程老师的旋转密码盘
【文件读写】本题使用文件读写:输入文件
dial.in,输出文件dial.out。
时间限制:1000ms 内存限制:512MB
题目描述
程老师有一个古老的密码盘,盘面上刻着一行由各种字符组成的密文。这个密码盘的神奇之处在于,它可以进行一种特殊的"滚动"操作。
每次滚动时,密码盘上的字符会按照以下规则变化:
- 如果字符是小写英文字母(
a到z),它会变成字母表中的下一个字母。具体来说,a变成b,b变成c,……,y变成z,而z会回绕到字母表的开头,变成a。 - 如果字符是大写英文字母(
A到Z)、数字(0到9)或其他可打印符号(如!、@、#等),这些字符在滚动时保持不变。
换句话说,只有小写字母会在每次滚动时向前推进一位,并且 z 之后会回到 a,形成一个循环;其余所有字符无论滚动多少次都纹丝不动。
程老师手上的密码盘当前显示的字符串为 。他想知道,如果把这个密码盘连续滚动 次,最终盘面上显示的字符串会是什么。
由于 可能非常大,程老师希望你能高效地帮他计算出结果。
输入格式
从文件 dial.in 中读入数据。
第一行一个字符串 ,表示密码盘当前显示的密文。
第二行一个非负整数 ,表示滚动的次数。
输出格式
输出到文件 dial.out 中。
一行一个字符串,表示滚动 次后密码盘上显示的内容。
数据范围
对于所有测试点,保证:
- ,其中 表示字符串 的长度。
- 。
- 字符串 中只包含 ASCII 码在 范围内的可打印字符(不含空格)。
各测试点的详细限制如下:
| 测试点 | 特殊性质 | |
|---|---|---|
| 1 | 10 | 无 |
| 2~6 | 100 | |
| 7~12 | ||
| 13~14 | A | |
| 15~16 | B | |
| 17~20 | 无 |
特殊性质 A:字符串只包含小写英文字母。
特殊性质 B:字符串中不包含任何小写英文字母。
样例
样例 1 输入
abcXYZ9z
1
样例 1 输出
bcdXYZ9a
样例 2 输入
hello
2
样例 2 输出
jgnnq
样例 3 输入
z
1
样例 3 输出
a
样例解释
对于样例 1,滚动一次后:小写字母 a 变成 b,b 变成 c,c 变成 d,z 回绕变成 a;大写字母 X、Y、Z 和数字 9 保持不变。最终得到 bcdXYZ9a。
难度
普及-
通过率
40%
尝试
5
已通过
2
- ID
- 699
- 类型
- 传统题
- Time Limit
- 1000ms
- Memory Limit
- 512MiB
- 上传者
相关
在下列比赛中: