上海计算机学会2025年8月月赛丙组T1镜像加密题解

题目描述

给定一个字符 chch,请输出对 chch 镜像加密后的字符。镜像加密的规则如下:

  • 如果 chch 是一个大写字母,输出大写字母表中 ABCDEFGHIJKLMNOPQRSTUVWXYZ 沿中心镜像对称的字母。例如
    • A 输出 Z
    • Y 输出 B
  • 如果 chch 是一个小写字母,输出小写字母表中 abcdefghijklmnopqrstuvwxyz 沿中心镜像对称的字母。例如
    • a 输出 z
    • y 输出 b
  • 如果 chch 是一个数字字符,输出数字字符表中 0123456789 沿中心镜像对称的数字。例如
    • 0 输出 9
    • 8 输出 1
输入格式
  • 单个字符
输出格式
  • 表示输入字符的镜像加密内容
数据范围
  • 保证输入字符是大写字母、小写字母或数字中的一种
样例数据

输入:

c

输出:

x

输入:

4

输出:

5

题解:找到字符和数字的ascii的开始和结束的位置的ascii码。使用数学方法,比如把a=97和z122的ascii加在一起 等于219,减去输入的字符比如输入的b,则b=98 219-98 =121,则为y的ascii,再转化成数字字符即可。

cpp 复制代码
#include <iostream>
#include<cmath>
using namespace std;
int main() {
	char a;
	cin>>a;
	if(a<=122&&a>=97){
		cout<<char(219-a);
	}else if(a<=90&&a>=65){
		cout<<char(155-a);
	}else{
		cout<<char(105-a);
	}

	return 0;
}
相关推荐
我不是懒洋洋2 分钟前
从零实现一个分布式数据集成:Airbyte的核心设计
c++
应用市场3 分钟前
红绿灯背后的算法:从 Webster 配时到 Max-Pressure 与强化学习
算法
会博通·代码搬运工7 分钟前
会博通API对接实战:工程企业文档分布式采集系统的技术实现与Python SDK详解
开发语言·分布式·python·线性代数·矩阵·架构·电子档案合规
用户0510122572968 分钟前
DAY 5-智能指针与 C++ 内存管理
c++·面试
木井巳13 分钟前
【DFS解决floodfill算法】岛屿的最大面积
java·算法·leetcode·深度优先
(Charon)16 分钟前
【C++】手写 MySQL 连接池(三):异步任务队列与工作线程
c语言·c++
林森lsjs26 分钟前
完结撒花!Java SE 语法阶段总结!
java·开发语言
lupai26 分钟前
短信接口快速接入与调用实战指南
java·开发语言·数据库
yyds_yyd_1008630 分钟前
877. 石子游戏(2026.08.02)& 486. 预测赢家(2026.08.01)
c++·leetcode
刘名喜33 分钟前
第12篇-Gradle-Kotlin-DSL构建指南
开发语言·kotlin·springboot