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