Run ID 作者 问题 语言 测评结果 Time Memory 代码长度 提交时间
77416 LJY 对角线之和 C++ Accepted 0 MS 284 KB 700 2024-06-09 12:14:37

Tests(10/10):


Code:

#include <iostream> #include <vector> int main() { int n; std::cin >> n; std::vector<std::vector<int>> matrix(n, std::vector<int>(n)); // 输入矩阵 for (int i = 0; i < n; ++i) { for (int j = 0; j < n; ++j) { std::cin >> matrix[i][j]; } } int sum = 0; // 计算对角线之和 for (int i = 0; i < n; ++i) { sum += matrix[i][i]; // 主对角线 sum += matrix[i][n - i - 1]; // 副对角线 } if (n % 2 == 1) { // 如果 n 是奇数,中心元素被加了两次,需减去一次 sum -= matrix[n / 2][n / 2]; } std::cout << sum << std::endl; return 0; }