题目链接
注意:
本题说的主对角线,但是实际要把副对角线也考虑在内。
#include<bits/stdc++.h>
using namespace std;
const int maxn=1e3+5;
int arr[maxn][maxn];
int main(){
int m,sum,tmp;
while(cin>>m){
vector<int> ans;
ans.clear();
for(int i=0; i<m; i++){
sum = 0;
for(int j=0; j<m; j++){
cin>>arr[i][j];
sum += arr[i][j];
}
ans.push_back(sum);
}
for(int i=0; i<m; i++){
sum = 0;
for(int j=0; j<m; j++){
sum += arr[j][i];
}
ans.push_back(sum);
}
sum = 0;
tmp = 0;
for(int i=0; i<m; i++){
sum += arr[i][i];
tmp += arr[i][m-i-1];
}
ans.push_back(sum);
ans.push_back(tmp);
sort(ans.rbegin(),ans.rend());
for(auto it: ans){
cout<<it<<" ";
}
cout<<endl;
}
return 0;
}