有题不会,有没有大佬讲讲

2 个赞

sum从1,1斜着加到n,n
再反着从1,n加到n,1
最后判断n是否为偶数,不是的话sum减去最中间的数

1 个赞

对角线包括主对角线和副对角线,把这两条对角线分别相加,然后判断这个矩阵的行数是不是奇数,如果是,那么就会多加上1次矩阵中间的数,就要把这个数减去

#include <bits/stdc++.h>
using namespace std;

long long n,a[1005][1005],cnt = 0;

int main()
{
    cin >> n;
    for(int i = 1; i <= n; i++)
    {
        for(int j = 1; j <= n; j++)
        {
            cin >> a[i][j];
            if(i == j)
            {
                cnt += a[i][j];
            }
            else if(i + j - 1 == n)
            {
                cnt += a[i][j];
            }
        }
    }
    cout << cnt;
    return 0;
}

试一下我的代码,应该是可以过的,没过的话 @ 我一下,我再看看

可以AC,谢谢

OK,可以给个解决方案吗

给了

OK,谢谢