题目分析
给定一个长度为 n 的字符串 s(1≤n≤106),由大小写混合的英文字母构成。
小歪从第一个字符开始依次输入,每次输入一个字符时需要花费以下时间:
- 基础时间
- 如果该字符(不区分大小写)之前未出现过,需 500 毫秒;
- 否则,需 100 毫秒。
- 额外时间(与前一个字符比较)
- 若当前字符与前一个字符完全相同(区分大小写),额外 23 毫秒;
- 若两字符不区分大小写在字母表中相邻(如 'a' 和 'b'),额外 44 毫秒。(不把 'a' 和 'z' 视为相邻)
P2919.第1题-小歪的字符串
题目内容
小歪将使用键盘输入一个长度为 n,由大小写字母混合构成的字符串。他从第一个字符开始,输入每一个字符所需的时间如下:
除此之外,还有一些额外的限制:
你需要计算并输出小歪输入这个字符串所需的总时间。
【注意事项】最基础的字母表中,我们认为 ′a′ 与 ′z′ 不相邻。
输入描述
在一行上输入一个长度为 1≤len(s)≤106,由大小写字母混合构成的字符串 s。
输出描述
输出一个整数,表示小歪输入这个字符串所需的总时间,
示例1
输入
aAb
输出
1144
说明
输入第一个字符 ′a′,由于此前没有输入过,需要 500 毫秒,没有额外时间;
输入第三个字符 ′A′,由于此前已经输入过 ′a′,所以需要 100 毫秒,没有额外时间。
输入第二个字符 ′b′,由于此前没有输入过,需要 500 毫秒,除此之外,′A′ 与 ′b′ 在字母表中相邻,所以额外需要 44 毫秒。
总时间为 500+100+500+44=1144 毫秒