塔子哥拿到了一个 n 行 n 列的矩阵,他每次操作可以将矩阵中的某个位置+ 1 。塔子哥想知道,自己最少操作多少次之后,可以使得矩阵变成合法矩阵?
合法矩阵的定义:当一个矩阵顺时针旋转0度、90度、180度、 270度时, 所得到的矩阵是相同的。
例如,矩阵 m 为:
我们注意到旋转四次会对应四个格子,(除了n为奇数时中心的),然后观察可以发现 (x,y) 旋转90度后变为 (y,n−x−1)(坐标从0开始),而操作只能增加,所以把每组对应的四个格子都变成它们中的最大值即可,这种做法对于中心特殊的点也一样处理,所以不需要特判。
Python代码
n = int(input())