欢迎来到起遇信息学
起遇信息学正处于上线筹建阶段,以下功能已全部开放免费体验: ✅ 完整题库浏览与代码提交评测(C / C++ / Python / Java 等) ✅ 入门到进阶的系列课程试读、作业与考试 ✅ AI 提示、AI 作业分析等智能助教功能 ✅ 赛事模拟与个人能力报告 ✅ 邮箱注册开放 ⏳ 付费课程订阅与微信/支付宝支付通道 ⏳ 手机号登录,微信扫码登录、微信公众号绑定 使用中如遇任何问题,欢迎通过页面底部 **"联系我们"** 与我们沟通。
CF1151A.Maxim and Biology
Maxim and Biology
题目描述
今天在 Kremland 王国的科学中学里上了一节生物课。课程的主题是基因组。我们称字符串 "ACTG" 为基因组。
Maxim 在课堂上感到非常无聊,于是老师给他出了一个任务:给定一个由大写字母组成且长度不少于 的字符串 ,你需要找出最少需要多少次操作,才能使得基因组作为子串出现在该字符串中。每次操作,你可以将字符串 中的任意一个字母替换为字母表中的下一个或上一个字母。例如,对于字母 "D",上一个字母是 "C",下一个字母是 "E"。在本题中,我们规定字母 "A" 的上一个字母是 "Z",下一个字母是 "B";字母 "Z" 的上一个字母是 "Y",下一个字母是 "A"。
请帮助 Maxim 解决老师给他的问题。
如果字符串 可以通过删除字符串 的若干(可能为零或全部)开头字符和若干(可能为零或全部)结尾字符得到,则称 是 的一个子串。
输入格式
第一行包含一个整数 (),表示字符串 的长度。
第二行包含一个长度恰好为 的仅由大写拉丁字母组成的字符串 。
输出格式
输出将字符串 变换为包含基因组子串所需的最小操作次数。
说明/提示
在第一个样例中,你应该将字母 "Z" 替换为 "A"(一次操作),将字母 "H" 替换为 "G"(一次操作)。这样你就得到了字符串 "ACTG",其中包含基因组作为子串。
在第二个样例中,我们将字母 "A" 替换为 "C"(两次操作),将字母 "D" 替换为 "A"(三次操作)。这样你就得到了字符串 "ZACTG",其中包含基因组。
由 ChatGPT 4.1 翻译
样例
4
ZCTH
2
5
ZDATG
5
6
AFBAKC
16
在线编程 IDE
建议全屏模式获得最佳体验
| 进入全屏编程 | Alt+E |
| 递交评测 | Ctrl+Enter |
| 注释/取消注释 | Ctrl+/ |
| 缩放字体 | Ctrl+滚轮 |