题目描述
给一个 的字母矩阵。每次操作可以:把某一行循环左移一格,或把某一列循环上移一格(移出网格的字母回到另一端)。目标形态规定为:把矩阵里所有字母按行优先排序后,从小到大依次填回矩阵。求从初始矩阵变到目标形态所需的最少操作次数;若无法做到输出 。
输入格式
第一行一个整数 。接下来 行,每行一个长度为 的小写字母串。
输出格式
一行一个整数,最少操作次数;无法做到输出 -1。
样例
输入
2 ba dc
输出
2
数据范围
- 对于 30% 的数据:,最少次数不超过 4
- 对于 60% 的数据:,最少次数不超过 6
- 对于 100% 的数据:,最少次数不超过 6