问题 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且由大写字母组成。

输出

仅为一个整数,表示最少变换次数
样例输入
Copy
4
ZCTH
样例输出
Copy
2

提示

样例2
输入:
5
ZDATG
输出:
5

样例3
输入:
6
AFBAKC
输出:
16

在第一个样例中,使用一次变换将'Z'替换为'A',再使用一次变换将'H'替换为'G',替换后的字符串为"ACTG",共需要2次变换。
在第二个样例中,使用2次变换将'A'替换为'C',使用3次变换将'D'替换为'A',替换后的字符串为"ZACTG",共需要5次变换。

来源

 

[提交][状态]