
2026年山东省【信息学体验营】复赛真题及题解T1星际密信题目描述在遥远的星系中外星人使用一种简单的加密方式传递信息。已知外星人的信息全部都是由大写英文字母A…Z和数字字符0…9构成的字符串。加密规则如下对于每个英文字母大写将它替换为字母表中向后移动k kk位的字母循环。对于数字字符保持不变。例如字符串ABC2在k 3 k3k3时加密为DEF2在k − 3 k-3k−3时加密为XYZ2。现在你截获了一段原文和一个整数k kk。请你根据这个规则加密原文输出加密后的密文。输入格式第一行n nn和k kkn nn表示字符串的长度整数k kk表示位移量正数表示字母向后移动负数表示向前移动0 00表示不移动。第二行一个长度为n nn的字符串s ss仅包含大写字母和数字字符。输出格式输出一行字符串表示加密后的结果。输入输出样例 1输入 112 3 HELLOWORLD88输出 1KHOORZRUOG88【数据范围】对于所有测试数据保证1 ≤ n ≤ 10 5 1\le n\le 10^51≤n≤105− 10 9 ≤ k ≤ 10 9 -10^9\le k\le 10^9−109≤k≤109。测试点编号k kk特殊性质1 ∼ 10 1\sim 101∼100 ≤ k ≤ 10 0\le k\le 100≤k≤10无11 ∼ 20 11\sim 2011∼20− 10 9 ≤ k ≤ 10 9 -10^9\le k\le 10^9−109≤k≤109无思路分析本题要求根据位移量 (k) 对字符串中的大写字母进行循环移位加密数字保持不变。关键在于处理 k 可能为负数且绝对值很大的情况。核心操作对于每个字符若是数字0~9直接保留。若是大写字母A~Z将其转换为 0~25 的整数索引加上位移量 k 后对 26 取模再转换回字母。取模处理由于 k 的范围为[ − 10 9 , 10 9 ] [-10^9, 10^9][−109,109]直接取模即可但需处理负数的模运算。C 中%对负数结果为负因此使用((c - A k) % 26 26) % 26确保结果非负或者直接(c - A k % 26 26) % 26因为k % 26可能为负加 26 再取模。时间复杂度O(n)n ≤ 10 5 n \le 10^5n≤105完全可行。代码实现#includeiostream#includestringusingnamespacestd;intn,k;string s;intmain(){cinnk;// 读入长度和位移cins;// 读入字符串// 预处理 k 对 26 取模intshiftk%26;// 可能为负在计算时再处理for(charc:s){if(c0c9){coutc;// 数字不变}else{// 大写字母// 计算偏移后的索引确保结果在 [0, 25]intidx(c-Ashift)%26;if(idx0)idx26;// 处理负数取模coutchar(Aidx);}}coutendl;return0;}更多内容请关注专栏信奥赛C普及组csp-j初赛复赛真题题解持续更新https://blog.csdn.net/weixin_66461496/category_12808781.html 点击跳转【秘籍汇总】完整csp信奥赛C学习资料1、csp/信奥赛C完整信奥赛系列课程永久学习https://edu.csdn.net/lecturer/7901 点击跳转2、CSP信奥赛C竞赛拿奖视频课https://edu.csdn.net/course/detail/40437 点击跳转https://edu.csdn.net/course/detail/41081 点击跳转3、csp信奥赛高频考点知识详解及案例实践CSP信奥赛C动态规划https://blog.csdn.net/weixin_66461496/category_13096895.html点击跳转CSP信奥赛C标准模板库STLhttps://blog.csdn.net/weixin_66461496/category_13108077.html 点击跳转信奥赛C提高组csp-s知识详解及案例实践https://blog.csdn.net/weixin_66461496/category_13113932.html 点击跳转4、csp信奥赛冲刺一等奖有效刷题题解信奥赛C普及组CSP-J一等奖通关刷题题单及题解https://blog.csdn.net/weixin_66461496/category_12673810.html 点击跳转信奥赛C普及组csp-j初赛复赛真题题解持续更新https://blog.csdn.net/weixin_66461496/category_12808781.html 点击跳转信奥赛C提高组csp-s初赛复赛真题题解持续更新https://blog.csdn.net/weixin_66461496/category_13125089.html 点击跳转5、GESP C考级真题题解GESP(C 一级二级三级)真题题解持续更新https://blog.csdn.net/weixin_66461496/category_12858102.html 点击跳转GESP(C 四级五级六级)真题题解持续更新https://blog.csdn.net/weixin_66461496/category_12869848.html 点击跳转GESP(C 七级八级)真题题解持续更新https://blog.csdn.net/weixin_66461496/category_13117178.html 点击跳转· 文末祝福 ·#includebits/stdc.husingnamespacestd;intmain(){cout跟着王老师一起学习信奥赛C;cout 成就更好的自己 ;cout csp信奥赛一等奖属于你! ;return0;}