C. [R47C]数字与字母

    Type: Default 1000ms 512MiB

[R47C]数字与字母

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

时空限制

1S/512M

题目描述

apiadu 有两个长度为 nn 的字符串 sstt,它们都由小写字母和数字组成。他可以对 ss 进行任意多次操作(可能为零次),使得 ss 变为 tt,共有以下两种类型的操作:

  1. 选择 ss 中的一个字符 cc,满足 cc 为数字字符或从 aj 的小写字母,如果 cc 为数字字符,则将其转换为对应的小写字母(如 0\rightarrowa1\rightarrowb\dots);如果 cc 为小写字母,则将其转换为对应的数字字符(如 a\rightarrow0b\rightarrow1\dots)。该操作的代价为 00
  2. 选择 ss 中的一个字符 cc,将其转换为它的上一个字符或下一个字符(如果是字母就按照字母表的顺序进行转换,如果是数字就按照大小的顺序进行转换,特别地,9 的下一个字符为 0z 的下一个字符为 a)。如:4\rightarrow5a\rightarrowze\rightarrowd9\rightarrow0。该操作的代价为 11

apiadu 想知道他将 ss 变为 tt 的最小总代价是多少,请你帮他算出最小总代价。

格式

输入格式

第一行包含一个整数 nn,表示字符串 sstt 的长度。

第二行包含一个长度为 nn 的字符串 ss

第三行包含一个长度为 nn 的字符串 tt

输出格式

输出一行一个整数,表示将 ss 变为 tt 的最小总代价。

样例

样例输入 #1

3
abc
a0d

样例输出 #1

2

样例解释 #1

以下为一种可能的操作方式:

第一步:选择 ss 的第 22 个字符进行类型 11 的操作,这会使这个字符由 b 变为 1,字符串 ss 会变为 a1c,代价为 00

第二步:选择 ss 的第 33 个字符进行类型 22 的操作,使它变为它的下一个字符,这会使这个字符由 c 变为 d,字符串 ss 会变为 a1d,代价为 11

第三步:选择 ss 的第 22 个字符进行类型 22 的操作,使它变为它的上一个字符,这会使这个字符由 1 变为 0,字符串 ss 会变为 a0d,代价为 11

这种操作方式的总代价为 22,可以证明没有总代价小于 22 的操作方式,因此答案为 22

样例输入 #2

5
a1n4x
ykn91

样例输出 #2

14

样例输入 #3

4
abcd
abcd

样例输出 #3

0

数据规模

注意:你只有通过了该题目的所有测试点,才能获得分数。

对于 100%100\% 的数据:1n2×1051 \le n \le 2 \times 10^5s=t=n |s| = |t| = nsstt 只包含小写字母和数字。

代码源挑战赛 Round 47

Not Attended
Status
Done
Rule
DMY
Start at
2026-1-23 20:00
End at
2026-1-23 21:30
Duration
1.5 hour(s)
Host
Partic.
354