链接:
1572. 矩阵对角线元素的和
题意:
计算主对角线和副对角线上的元素的和(不计算重复的)
解:
O.o?
实际代码:
#include<bits/stdc++.h>
using namespace std;
int diagonalSum(vector<vector<int>>& mat)
{int lg=mat.size(),ans=0;for(int i=0;i<lg;i++) ans+=mat[i][i];for(int i=0;i<lg;i++) ans+=mat[i][lg-i-1];if(lg&1) ans-=mat[lg/2][lg/2];return ans;
}
int main()
{int n;cin>>n;vector<vector<int>> mat;for(int i=0;i<n;i++){vector<int>t;int temp;for(int j=0;j<n;j++){cin>>temp;t.push_back(temp);}mat.push_back(t);}int ans=diagonalSum(mat);cout<<ans<<endl;return 0;
}
限制:
n == mat.length == mat[i].length
1 <= n <= 100
1 <= mat[i][j] <= 100