回文串(文件IO)
题目描述
给一个完全由小写字母组成的长度为 \(n\) 的字符串,按下列要求把它改成回文串。先给定游标位置为 \(p(1≤p≤n)\),只允许使用四个方向键:上、下、左、右; 规则是:当使用左右键时,改变游标位置(字符串是环形的,即游标在左端时, 可以用左键,移动 \(1\) 格到最右端;而游标在右端时,可以用右键移动 \(1\) 格到最左端);当使用上下键时,改变游标位置上的字符,每按 \(1\) 次,将游标位置上的字符变成其后(前)一个字母(小字字母也是环形的,即字母 \(a\) 按 \(1\) 次可以变成字母 \(b\),也可以变成字母 \(z\))。求最少步数。
格式
输入格式
第一行为正整数 \(t(≤5)\),表示数据组数;每组数据中,第一行为正整数 \(n(≤ 10^5)\) 和 \(p\),表示字符串长度和游标起始位置;第二行为一个长度为 \(n\) 的小写字母串。
输出格式
对于每组数据,输出最少的步数。
样例1
输入样例1
1
8 3
aeabcaez
输出样例1
6
样例解释
变化的 \(6\) 步:\(\texttt{aeabcaez -> aeabcaez -> aeaccaez -> aeaccaez -> aeaccaez-> aeaccaez -> zeaccaez}\)。
来源
地址:芜湖市二十七中电脑班刷题课
作者:汪老师
模拟赛\(T2\)
文件IO
freopen("palind.in","r",stdin);
freopen("palind.out","w",stdout);
相关
在下列训练计划中: