#pragma warning(disable:4996);
#include<stdio.h>
#include<math.h>
#include<string.h>
#include<iostream>
#include<algorithm>
using namespace std;
bool cmp(int a, int b) {
return a > b;
}
int main()
{
int m;
while (scanf("%d", &m) != EOF) {
int a[10][10] = {0};
int ans[22] = { 0 };
for (int i = 0;i < m;i++) {
for (int j = 0;j < m;j++) {
scanf("%d", &a[i][j]);
}
}
int num = 0;
for (int i = 0;i < m;i++) {
for (int j = 0;j < m;j++)
{
ans[num] += a[i][j];
}
num++;
}
for (int i = 0;i < m;i++) {
for (int j = 0;j < m;j++)
{
ans[num] += a[j][i];
}
num++;
}
for (int i = 0;i < m;i++) {
ans[num] += a[i][i];
}
num++;
//for (int i = m - 1;i >= 0;i--)//副对角线的加法错了,ij的加减是同级;
// for (int j = 0;j < m;j++)
// ans[num] += a[i][j];
int i = m - 1,j = 0;
while (i >= 0 && j < m) {
ans[num] += a[i][j];
i--;
j++;
}
num++;
sort(ans, ans + num,cmp);
for (int i = 0;i < num;i++) {
printf("%d", ans[i]);
if (i != num - 1)printf(" ");
else printf("\n");
}
}
return 0;
}
问题 E: Problem B
最新推荐文章于 2023-07-25 16:19:50 发布