HJ168 小红的字符串

张开发
2026/4/20 9:08:32 15 分钟阅读

分享文章

HJ168 小红的字符串
题目题解(32)讨论(19)排行简单 通过率50.12% 时间限制1秒 空间限制256M知识点贪心校招时部分企业笔试将禁止编程题跳出页面为提前适应练习时请使用在线自测而非本地IDE。描述小红拥有一个长度为 nn 的小写字母字符串 ss。她可以重复执行如下操作任意次∙ ∙ 选择一个下标 i (1≦i≦n)i (1≦i≦n)将字符 sisi​ 循环右移到字母表中的下一个字母。特别地zz 右移后变成 aa。请计算使 ss 变为回文串所需的最少操作次数。【名词解释】回文串一个字符串从左往右与从右往左读完全相同。输入描述一行输入一个长度不超过 10001000 的小写字母字符串 ss。输出描述在一行上输出一个整数代表把 ss 变成回文串的最少操作次数。示例1输入abcd复制输出4复制说明一种可行方案abcd→dccdabcd→dccd共 44 次操作。示例2输入nuhhhh复制输出19#include iostream #include string #include cmath #include algorithm using namespace std; int main() { string s; cin s; long long total_ops 0; int left 0; int right s.length() - 1; while (left right) { int pos1 s[left] - a; int pos2 s[right] - a; int diff abs(pos1 - pos2); total_ops min(diff, 26 - diff); left; right--; } cout total_ops endl; return 0; }

更多文章