网格数字求和难题:代码详解如何找出最大数字和
```cpp #include <iostream> #include <vector> using namespace std; int main() { int n; cin >> n; vector<vector<int>> A(n, vector<int>(n)); for (int i = 0; i < n; ++i) { for (int j = 0; j < n; ++j) { cin >> A[i][j]; } } int maxSum = -1e9; // 计算每行的和 for (int i = 0; i < n; ++i) { int rowSum = 0; for (int j = 0; j < n; ++j) { rowSum += A[i][j]; } maxSum = max(maxSum, rowSum); } // 计算每列的和 for (int j = 0; j < n; ++j) { int colSum = 0; for (int i = 0; i < n; ++i) { colSum += A[i][j]; } maxSum = max(maxSum, colSum); } // 计算正对角线平行直线的和 for (int startCol = 0; startCol < n; ++startCol) { int sum = 0; for (int i = 0, j = startCol; i < n && j < n; ++i, ++j) { sum += A[i][j]; } maxSum = max(maxSum, sum); } for (int startRow = 1; startRow < n; ++startRow) { int sum = 0; for (int i = startRow, j = 0; i < n && j < n; ++i, ++j) { sum += A[i][j]; } maxSum = max(maxSum, sum); } // 计算反对角线平行直线的和 for (int startCol = 0; startCol < n; ++startCol) { int sum = 0; for (int i = 0, j = startCol; i < n && j >= 0; ++i, --j) { sum += A[i][j]; } maxSum = max(maxSum, sum); } for (int startRow = 1; startRow < n; ++startRow) { int sum = 0; for (int i = startRow, j = n - 1; i < n && j >= 0; ++i, --j) { sum += A[i][j]; } maxSum = max(maxSum, sum); } cout << maxSum << endl; return 0; } ``` 代码解释 1. 输入处理: - 首先读取方阵的行数和列数 `n`。 - 接着使用二维向量 `A` 存储方阵中的每个元素。 2. 初始化最大和: - 初始化 `maxSum` 为一个非常小的值 `-1e9`。 3. 计算每行的和: - 通过两层循环遍历每一行,累加每行元素的和,更新 `maxSum`。 4. 计算每列的和: - 同样使用两层循环遍历每一列,累加每列元素的和,更新 `maxSum`。 5. 计算正对角线平行直线的和: - 从第一行开始,以不同列作为起点,计算与正对角线平行的直线元素和。 - 从第一列开始,以不同行作为起点,计算与正对角线平行的直线元素和。 - 更新 `maxSum`。 6. 计算反对角线平行直线的和: - 从第一行开始,以不同列作为起点,计算与反对角线平行的直线元素和。 - 从第一列开始,以不同行作为起点,计算与反对角线平行的直线元素和。 - 更新 `maxSum`。 7. 输出结果: - 最后输出最大和 `maxSum`。 ######[AI问答 | 973点数解答 | 2025-11-26 20:07:06]
- C++ 实现:精准统计给定范围 [L, R] 内数字 2 出现的次数及代码详解(字节豆包 | 401点数解答 | 2026-02-05 21:17:05)36
- C++实现:统计[L, R]范围内数字2出现的次数及代码详解(字节豆包 | 489点数解答 | 2026-02-07 17:12:26)41
- 深度揭秘 Oracle Workarea Size Policy:参数调优助力数据库性能飞升(阿里通义 | 372点数解答 | 2024-05-13 10:54:45)226
- 高考毕业晚会难题:从学生能力值求最大默契程度的Python解法(字节豆包 | 487点数解答 | 2026-01-24 13:10:18)39
- Python:用正则表达式从含多种字符的字符串中提取英文、数字和中文单词(GPT | 522点数解答 | 2024-05-31 19:05:27)313
- Python:用正则表达式结合 split 思路提取一行字符串中的英文、数字和中文单词 (GPT | 399点数解答 | 2024-05-31 19:07:31)309
- 繁体字编码代码修改:人物名字合法性验证函数转简体版(字节豆包 | 325点数解答 | 2024-10-21 18:57:01)285
- 计算区间 n 到 m 中数字 x 出现次数的 Python 实现与详解(字节豆包 | 289点数解答 | 2025-12-07 17:14:59)71
- Python 实现:计算区间 n 到 m 中数字 x 出现的次数(字节豆包 | 322点数解答 | 2025-12-13 21:37:08)74
- C#工程师必知:自定义委托的详细步骤与示例(百度文心 | 388点数解答 | 2023-11-09 17:55:52)355
- 工程师必备:十大APP性能优化方案大揭秘(百度文心 | 300点数解答 | 2023-11-09 18:31:04)330
- 手把手教你在Jenkins中配置并发执行线程数,附负载调整提示!( | 253点数解答 | 2024-01-10 10:12:35)398