B3936 [语言月赛 202402] 小朋友的身高

· · 题解

Source & Knowledge

2024 年 2 月语言月赛,由洛谷网校入门计划/基础计划提供。

验题人题解。

题目大意

n 个人,给出每个人第 0 年的身高和每个人每年增长的高度,要求求出第 x 年第 y 个人和第 j 个人的身高差。

题目分析

本题考查对二维数组和循环结构的运用。

我们把每个人的初始身高存储在一维数组 a 中,把每个人每年增长的高度存储在二维数组 b 中。

通过循环结构计算第 x 年第 y 个人的身高和第 x 年第 z 个人的身高。

输出两个结果作差的值即可。

for (long long i = 1; i <= n; i++){
    cin >> a[i];
}
for (long long i = 1; i <= m; i++){
    for (long long j = 1; j <= n; j++){
        cin >> b[i][j];
    }
}
while (q--){
    long long x, y, z;
    cin >> x >> y >> z;
    long long height1 = a[y], height2 = a[z];
    for (long long i = 1; i <= x; i++){
        height1 += b[i][y];
    }
    for (long long i = 1; i <= x; i++){
        height2 += b[i][z];
    }
    cout << height1 - height2 << endl;
}

视频题解