T612223 Z字上的数字和

Z字上的数字和解题思路

解题思路

  1. 理解Z字形构成:

    • 第一行所有元素

    • 最后一行所有元素

    • 辅对角线(从右上到左下的对角线)所有元素

    • 需要减去重复计算的元素(第一行最后一个元素和最后一行第一个元素)

  2. 计算步骤:

    • 先计算第一行和最后一行的所有元素和

    • 再加上辅对角线上的所有元素

    • 最后减去重复计算的两个交点元素

  3. 实现方法:

    • 使用三重循环分别计算这三部分的和

    • 注意避免重复计算交点元素

代码注释

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

int n; // 定义矩阵大小n
int a[101][101]; // 定义足够大的矩阵(题目n≤20,但定义稍大更安全)

int main()
{
    // 读取矩阵大小n
    cin >> n;
    
    // 读取n×n矩阵
    for(int i = 1; i <= n; i++)
        for(int j = 1; j <= n; j++)
            cin >> a[i][j]; // 将输入存入数组a
    
    int sum = 0; // 初始化总和
    
    // 计算第一行和最后一行的和
    for(int j = 1; j <= n; j++)
        sum += a[1][j] + a[n][j]; // 累加第一行和最后一行
    
    // 计算辅对角线的和(从右上到左下)
    for(int i = 1; i <= n; i++)
        sum += a[i][n - i + 1]; // 辅对角线元素行号+列号=n+1
    
    // 减去重复计算的两个交点元素
    sum = sum - a[1][n] - a[n][1]; // 第一行最后一个和最后一行第一个
    
    // 输出最终结果
    cout << sum;
    
    return 0; // 程序正常结束
}

 

posted @ 2025-05-27 14:30  CRt0729  阅读(19)  评论(0)    收藏  举报