专栏文章

B4360 [GESP202506 四级] 画布裁剪

B4360题解参与者 13已保存评论 12

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
12 条
当前快照
1 份
快照标识符
@miopdrt5
此快照首次捕获于
2025/12/02 22:58
3 个月前
此快照最后确认于
2025/12/02 22:58
3 个月前
查看原文
欢迎报名洛谷网校,期待和大家一起进步!

由于画布是一个矩形的字符矩阵,我们可以使用一个字符串数组 string s[105]; 来存储它。我们的目标是只输出由第 x1x_1 行到第 x2x_2 行、第 y1y_1 列到第 y2y_2 列构成的这个子矩阵。因为我们的数组行号已经和题目保持了一致,所以我们可以直接用一个循环从 x1x_1 遍历到 x2x_2,来处理每一行。
在 C++ 中,字符串里的字符位置是固定的,总是从 00 开始的。所以,题目中提到的“第 jj 列”,实际上对应的是字符串里的第 j1j-1 个字符。因此,当我们想取出第 ii 行第 jj 列的字符时,对应的代码就是 s[i][j-1]
CPP
for (int i = x1; i <= x2; ++i) {
    for (int j = y1; j <= y2; ++j)
        cout << s[i][j - 1];
    cout << endl;
}

评论

12 条评论,欢迎与作者交流。

正在加载评论...