AcWing 3565. 完美矩阵
原题链接
中等
作者:
Youbuhua
,
2021-05-25 20:17:02
,
所有人可见
,
阅读 205
#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int N = 110;
int a[N][N];
ll cal(set< pair<int,int> > st){
ll res = 0;
vector<int> vec;
set<pair<int,int> >::iterator it;
for(it = st.begin(); it != st.end(); it++){
vec.push_back(a[(*it).first][(*it).second]);
}
sort(vec.begin(),vec.end());
for(int i = 0; i < vec.size(); i++){
res += abs(vec[i] - vec[vec.size()/2]);
}
return res;
}
void solve(){
int n,m;
cin >> n >> m;
for(int i = 1; i <= n; i++){
for(int j = 1; j <= m; j++){
cin >> a[i][j];
}
}
ll ans = 0;
for(int i = 1; i <= n-i+1; i++){
for(int j = 1; j <= m-j+1; j++){
ans += cal({{i,j},{i,m-j+1},{n-i+1,j},{n-i+1,m-j+1}});
}
}
printf("%lld\n",ans);
}
int main()
{
int t;
cin >> t;
while(t--){
solve();
}
return 0;
}