问题 5577 --虎哥变换字符串5577: 虎哥变换字符串★★
时间限制: 1 Sec 内存限制: 128 MB
提交: 72 解决: 29
[提交][状态][命题人:]题目描述
给定一个由大写字母组成,并且长度大于等于4的字符串s,通过变换后使s包含子串"ACTG"。其变换规则为对字符串中的任意字符s[i],可用s[i]的前一个字符或下一个字符来代替s[i]。如字符'D'的前一个字符为'C',下一个字符为'E'。在变换中,我们假定字符'A'的前一个字符为'Z',下一个字符为'B';字符'Z'的前一个字符为'Y',下一个字符为'A'。
现在请你帮忙计算一下,要使字符串s中包含子串"ACTG",最少要变换多少次?
输入
第一行仅有一个整数n(4≤n≤50),表示字符串s的长度。
第二行为字符串s,s为长度为n且由大写字母组成。
输出
仅为一个整数,表示最少变换次数
提示
样例2
输入:
5
ZDATG
输出:
5
样例3
输入:
6
AFBAKC
输出:
16
在第一个样例中,使用一次变换将'Z'替换为'A',再使用一次变换将'H'替换为'G',替换后的字符串为"ACTG",共需要2次变换。
在第二个样例中,使用2次变换将'A'替换为'C',使用3次变换将'D'替换为'A',替换后的字符串为"ZACTG",共需要5次变换。
来源
[提交][状态]