#2253. 徐老师的回文矩阵

徐老师的回文矩阵

题目描述

徐老师继续复习数学知识,复习到了 "矩阵" 的概念,他再次突发奇想,如果将数学和字符串结合,那不是很有趣吗?

在字符串相关问题中有徐老师的一生之敌——回文字符串

但是回文字符串的问题总是问如何将一个字符串变为回文字符串

现在徐老师想到了,如果是将一个矩阵变为 回文矩阵 会如何呢?

有一个 nmn * m字母矩阵,如果它任意一行或任意一列的字母连起来能够形成回文字符串,那么它就可以被称为 回文矩阵

例如有以下字母矩阵可以被称为回文矩阵,因为其中三行分别组成的字符串是 aaa,bbb,aaaaaa,bbb,aaa,均为回文,每一列组成的字符串分别是aba,aba,abaaba,aba,aba,均为回文字符串

aaa
bbb
aaa

但是以下矩阵不能被称为回文矩阵,因为它的第二行组成的字符串 bcdbcd 不是回文字符串

aaa
bcd
aaa

显然这里我们可以发现,不是每个字母矩阵都可以称为回文矩阵的

于是徐老师给出了一个操作:每次操作可以任选矩阵中的一个字母,将它变成它的上一个或下一个字母,例如 cc 的上一个字母是 bb,下一个字母是 dd

特别的,这里我们认为 aa 的上一个字母是 zz,zz 的下一个字母是 aa

现在徐老师想知道,对于任意一个 字母矩阵,最少需要几次操作可以将它变成一个 回文矩阵

输入格式

输入第一行包含两个整数 n,mn,m 表示矩阵大小

接下来 nn 行,每行一个长度为 mm 的字符串,表示一开始给出的字母矩阵

输出格式

输出最小操作次数

数据范围

数据点编号 n,mn,m 特殊性质
121 \sim 2 1n,m101 \leq n,m \leq 10
343 \sim 4 1n,m10001 \leq n,m \leq 1000 矩阵中只包含 a,ba,b 两个字母
565 \sim 6 n=1n=1
7107 \sim 10

特别的,对于所有数据保证输入字母矩阵中只包含小写字母

样例输入1

2 3
aaa
zzz

样例输出1

3

样例解释1

aa 全部变成上一个字母,或者将 zz 全部变成下一个字母,操作次数均为 33

样例输入2

3 3
abc
def
ghi

样例输出2

20