测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A26810. 画布裁剪

填空题 较难

题目描述

画布裁剪

题目描述

小 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。

参考答案

n, m = map(int, input().split()) x1, x2, y1, y2 = map(int, input().split()) s = [input().strip() for _ in range(n)] # 遍历需要输出的行 for i in range(x1 - 1, x2): # 对需要输出的内容进行切片 print(s[i][y1 - 1 : y2])
上一题 下一题