#include <bits/stdc++.h>
#define all(arr) arr.begin(), arr.end()
using namespace std;
const int MAXN = 1010;
int n;
string A[MAXN];
int solve()
{
int ans = 0;
for (int i = 1; i * 2 <= n; ++i)
for (int j = 1; j * 2 <= n; ++j)
{
vector<char> M{A[i][j], A[n + 1 - j][i], A[n + 1 - i][n + 1 - j], A[j][n + 1 - i]};
char c = *max_element(all(M));
for (char e : M)
ans += c - e;
}
return ans;
}
int main()
{
int t;
cin >> t;
while (t--)
{
cin >> n;
for (int i = 1; i <= n; ++i)
{
string s;
cin >> s;
A[i] = " " + s;
}
cout << solve() << endl;
}
}
同一个矩阵,旋转九十度,如果下标从一开始,那么每个边上的每个点,对应如上代码,如果是从0开始,那么为