当前位置: 首页 > news >正文

csp信奥赛C++高频考点专项训练之字符串 --【字符统计】:字母求和

csp信奥赛C++高频考点专项训练之字符串 --【字符统计】:字母求和

题目描述

小杨同学发明了一种新型密码,对于每一个小写英文字母,该小写字母代表了一个正整数,即该字母在字母顺序中的位置,例如字母a代表了正整数1 11,字母b代表了正整数2 22;对于每一个大写英文字母,该大写字母代表了一个负整数,即该字母的 ASCII 码的相反数,例如字母A代表了负整数− 65 -6565。小杨同学利用这种放缩对一个整数进行了加密并得到了一个由大写字母和小写字母组成的字符串,该字符串中每个字母所代表数字的总和即为加密前的整数,例如aAc对应的加密前的整数为1 + ( − 65 ) + 3 = − 61 1+(-65)+3=-611+(65)+3=61

对于给定的字符串,请你计算出它对应的加密前的整数是多少。

输入格式

第一行一个正整数n nn,表示字符串中字母的个数。
第二行一个由大写字母和小写字母的字符串T,代表加密后得到的字符串。

输出格式

输出一行一个整数,代表加密前的整数。

输入输出样例 1
输入 1
3 aAc
输出 1
-61
说明/提示

对全部的测试数据,保证1 ≤ n ≤ 10 5 1 \leq n \leq 10^51n105

思路分析

题目要求将给定字符串中的每个字母转换为一个整数并求和:

  • 小写字母:'a''z'分别对应 1 到 26,即c - 'a' + 1
  • 大写字母:ASCII 码的相反数,如'A'对应-65,即-(int)c

直接遍历字符串,累加每个字符的转换值即可。时间复杂度 O(n),空间 O(1)。

代码实现

#include<bits/stdc++.h>usingnamespacestd;intn;string s;intmain(){cin>>n>>s;//读入长度和字符串intans=0;for(charc:s){//遍历每个字符if(c>='a'&&c<='z')ans+=c-'a'+1;//小写字母:位置值elseans+=-(int)c;//大写字母:ASCII码相反数}cout<<ans;//输出结果return0;}

功能分析

  1. 输入处理:读取整数 n(虽然实际未使用)和字符串 s。
  2. 字符转换:遍历 s 中每个字符:
    • 若为小写字母,累加其在字母表中的序号。
    • 若为大写字母,累加其 ASCII 码的相反数。
  3. 输出结果:打印最终累加和。

【完整系列请查看专栏】:
信奥赛C++普及组CSP-J一等奖通关刷题题单及题解:
https://blog.csdn.net/weixin_66461496/category_12673810.html 点击跳转


各种学习资料,助力大家一站式学习和提升!!!

#include<bits/stdc++.h>usingnamespacestd;intmain(){cout<<"########## 一站式掌握信奥赛知识! ##########";cout<<"############# 冲刺信奥赛拿奖! #############";cout<<"###### 课程购买后永久学习,不受限制! ######";return0;}

【秘籍汇总】(完整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++标准模板库STL:
https://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 点击跳转

· 文末祝福 ·

#include<bits/stdc++.h>usingnamespacestd;intmain(){cout<<"跟着王老师一起学习信奥赛C++";cout<<" 成就更好的自己! ";cout<<" csp信奥赛一等奖属于你! ";return0;}
http://www.jsqmd.com/news/768824/

相关文章:

  • Mermaid实时编辑器终极指南:5分钟掌握代码绘图神器
  • ADAS域控制器、AI边缘推理、AR/VR:RS1G32LO5D2FDB-31BT的高带宽应用版图
  • 服务网格与 Java:构建弹性微服务架构
  • SQLCoder深度解析:让自然语言对话数据库的终极指南
  • Ocular框架:视觉AI工程化实践与生产部署指南
  • FastAPI异步Web开发实战:从架构设计到生产部署
  • OpenCrab:基于本体论的AI智能体结构化编排与管理工具
  • 开源免费的WPS AI 软件 察元AI文档助手:# 链路 024:getChatApiConfig 与 RIBBON_MODEL_TO_PROVIDER
  • Java十五:封装和接口
  • 不会修图的人,如何用 GPT-Image-2 辅助出图
  • 3倍推理加速!Ultralytics YOLO模型OpenVINO部署架构深度解析
  • OpenMV颜色识别总调不准?可能是你没搞懂LAB颜色空间和阈值设定
  • OpenWrt端口转发不生效?从防火墙规则到IP转发全面排查
  • 普通用户用GPT-Image-2文生图模型,最实用的5个应用
  • Worm-GPT:AI安全攻防视角下的恶意提示工程与LLM滥用防御
  • 2026用GPT-5.5写文章:新手也能快速出稿
  • 基于子孔径的星载斜视条带SAR成像算法研究及实现DSP【附代码】
  • 为AI智能体接入Kagi搜索:提升信息获取质量与效率
  • 从静态站点到开发者门户:深度解析AsyncAPI官网架构与工程实践
  • 会议背景资料自动汇编(使用千问)
  • ActVer Skills:基于MCP协议为AI助手集成GitHub Actions版本管理能力
  • 视频里的PPT怎么一键提取?这款开源神器让你告别手动截图
  • 告别轮询!用LIN总线的事件触发帧优化你的汽车车窗控制(附Arduino模拟代码)
  • QQ音乐解码终极指南:3分钟学会qmcdump解锁加密音频
  • 3个核心技巧彻底优化《鸣潮》体验:从帧率解锁到抽卡分析的终极指南
  • 2026年4月可靠的退磁器品牌口碑推荐,口碑好的退磁器哪家好 - 品牌推荐师
  • 终极免费指南:如何彻底清理macOS应用残留文件
  • 自托管代码片段管理工具CodeFire部署与实战指南
  • 如何让闲置的PS3控制器在Windows上重获新生:DsHidMini完整使用指南
  • 山西医科大学考研辅导班机构选择:排行榜单与哪家好评测 - michalwang