欢迎来到起遇信息学
起遇信息学正处于上线筹建阶段,以下功能已全部开放免费体验: ✅ 完整题库浏览与代码提交评测(C / C++ / Python / Java 等) ✅ 入门到进阶的系列课程试读、作业与考试 ✅ AI 提示、AI 作业分析等智能助教功能 ✅ 赛事模拟与个人能力报告 ✅ 邮箱注册开放 ⏳ 付费课程订阅与微信/支付宝支付通道 ⏳ 手机号登录,微信扫码登录、微信公众号绑定 使用中如遇任何问题,欢迎通过页面底部 **"联系我们"** 与我们沟通。
CF1027A.Palindromic Twist
Palindromic Twist
题目描述
给定一个由 个小写拉丁字母组成的字符串 ,其中 为偶数。
对于字符串 中的每一个位置 (),你需要将该位置的字母更改为字母表中的前一个字母或后一个字母(字母 'a' 和 'z' 只有一个可选项)。每个位置的字母必须且只能被更改一次。
例如,字母 'p' 可以被更改为 'o' 或 'q',字母 'a' 只能被更改为 'b',字母 'z' 只能被更改为 'y'。
例如,字符串 "codeforces" 可以被更改为 "dpedepqbft"('c' 'd','o' 'p','d' 'e','e' 'd','f' 'e','o' 'p','r' 'q','c' 'b','e' 'f','s' 't')。
如果一个字符串从左到右和从右到左读都是一样的,则称其为回文串。例如,"abba" 和 "zz" 是回文串,而 "abca" 和 "zy" 不是回文串。
你的目标是判断,是否可以通过上述操作将字符串 变为回文串。若可以,输出 "YES";否则输出 "NO"。
每个测试用例包含若干个字符串,对于每个字符串你都需要分别解决该问题。
输入格式
第一行包含一个整数 (),表示该测试用例中字符串的数量。
接下来有 行——第 行和第 行描述第 个字符串。每对中的第一行包含一个整数 (,且 为偶数),表示字符串的长度。第二行包含一个长度为 的字符串 ,由小写拉丁字母组成。
输出格式
输出 行。第 行输出第 个字符串的答案。如果可以通过上述操作将第 个字符串变为回文串,输出 "YES";否则输出 "NO"。
说明/提示
示例中的第一个字符串可以被更改为 "bcbbcb",最左边的两个字母和最右边的两个字母被更改为下一个字母,中间的两个字母被更改为前一个字母。
第二个字符串可以被更改为 "be"、"bg"、"de"、"dg",但这些结果都不是回文串。
第三个字符串可以被更改为 "beeb",这是一个回文串。
第五个字符串可以被更改为 "lk"、"lm"、"nk"、"nm",但这些结果都不是回文串。注意,不能让某个字母保持不变,因此不能得到 "ll" 或 "mm"。
由 ChatGPT 4.1 翻译
样例
5
6
abccba
2
cf
4
adfa
8
abaazaba
2
ml
YES
NO
YES
NO
NO
在线编程 IDE
建议全屏模式获得最佳体验
| 进入全屏编程 | Alt+E |
| 递交评测 | Ctrl+Enter |
| 注释/取消注释 | Ctrl+/ |
| 缩放字体 | Ctrl+滚轮 |