题型:编程题
画布裁剪
时间限制:1 s,内存限制:512 MB
【问题描述】
小 A 在高为 h 宽为 w 的矩形画布上绘制了一幅画。由于画布边缘留白太多,小 A 想适当地裁剪画布,只保留画的主体。
具体来说,画布可以视为 h 行 w 列的字符矩阵,其中的字符均为 ASCII 码位于 33~126 之间的可见字符,小 A只保留画布中由第 x1 行到第 x2 行、第 y1 列到第 y2 列构成的子矩阵。
小 A 将画布交给了你,你能帮他完成画布的裁剪吗?
【输入描述】
第一行,两个正整数 h、w,分别表示画布的行数与列数。
第二行,四个正整数 x1、x2、y1、y2,表示保留的行列边界。
接下来 h 行,每行一个长度为 w 的字符串,表示画布内容。
【输出描述】
输出共 x2 - x1 + 1 行,每行一个长度为 y2 - y1 + 1 的字符串,表示裁剪后的画布。
【样例输入1】
3 5 2 2 2 4 ..... .>_<. .....
【样例输出1】
>_<
【样例输入2】
5 5 1 2 3 4 AbCdE fGhIk LmNoP qRsTu VwXyZ
【样例输出2】
Cd hI
【数据范围】
对于所有测试点,保证 1 <= h、w <= 100,1 <= x1 <= x2 <= h,1 <= y1 <= y2 <= w。
更新时间:2026-03-31 12:53:24
|
【知识点】
CCF—GESP C++四级
抱歉! 您未登录, 不能查看答案和解析点击登录
相似题推荐
判断题
考虑用如下递推方式计算斐波那契数列,时间复杂度是 O(n)。
int n = 10; int f[20]; f[0] = 0; f[1] = 1; for (int i = 2; i <= n; i++) f[i] = f[i - 1] + f[i - 2];
| A.正确 | B.错误 |
2026-07-22
判断题
小杨正在调试他的温度传感器程序,其中变量 x 保存当前温度。下面这段代码运行后,变量 x 的值变成
了 8 。
int x = 5; int *p = &x; *p = *p + 3;
| A.正确 | B.错误 |
2026-07-22
判断题
下面这段代码实现了选择排序算法。
void sort(int a[], int n) {
for (int i = 1; i < n; i++) {
int x = a[i];
int j = i - 1;
while (j >= 0 && a[j] > x) {
a[j + 1] = a[j];
j--;
}
a[j + 1] = x;
}
} | A.正确 | B.错误 |
2026-07-22
单选题
给定函数 climbStairs(int n) 的定义如下,则 climbStairs(5) 的返回的值是( )。
int climbStairs(int n) {
if(n <= 2) return n;
int a = 1, b = 2;
for(int i = 3; i <= n; i++) {
int temp = a + b;
a = b;
b = temp;
}
return b;
} | A. 5 |
B. 8 |
| C. 13 |
D. 18 |
2026-07-22
单选题
执行下面 C++ 程序,会输出( )。
int main() {
ofstream fout("test.txt");
fout << "Happy" << endl;
fout << "New Year";
fout.close();
ifstream fin("test.txt");
string s1, s2;
fin >> s1;
getline(fin, s2);
fin.close();
cout << s1 << "|" << s2;
return 0;
} | A.Happy|New Year | B.Happy| New Year |
| C.HappyNew Year| | D.Happy| |
2026-07-22
