CCF GESP 2025年6月认证 C++ 4级
题目描述
小 A 在高为 $h$ 宽为 $w$ 的矩形画布上绘制了一幅画。由于画布边缘留白太多,小 A 想适当地裁剪画布,只保留画的主体。具体来说,画布可以视为 $h$ 行 $w$ 列的字符矩阵,其中的字符均为 ASCII 码位于 $33 \sim 126$ 之间的可见字符,小 A 只保留画布中由第 $x_1$ 行到第 $x_2$ 行、第 $y_1$ 列到第 $y_2$ 列构成的子矩阵。
小 A 将画布交给了你,你能帮他完成画布的裁剪吗?
输入格式
第一行,两个正整数 $h, w$,分别表示画布的行数与列数。
第二行,四个正整数 $x_1, x_2, y_1, y_2$,表示保留的行列边界。
接下来 $h$ 行,每行一个长度为 $w$ 的字符串,表示画布内容。
输出格式
输出共 $x_2 - x_1 + 1$ 行,每行一个长度为 $y_2 - y_1 + 1$ 的字符串,表示裁剪后的画布。
样例说明
样例 1
3 5
2 2 2 4
.....
.>_<.
.....
>_<
样例 2
5 5
1 2 3 4
AbCdE
fGhIk
LmNoP
qRsTu
VwXyZ
Cd
hI
数据范围
对于所有测试点,保证 $1 \leq h, w \leq 100$,$1 \leq x_1 \leq x_2 \leq h$,$1 \leq y_1 \leq y_2 \leq w$。
题目描述
体育课上有 $n$ 名同学排成一队,从前往后数第 $i$ 位同学的身高为 $h_i$,体重为 $w_i$。目前排成的队伍看起来参差不齐,老师希望同学们能按照身高从高到低的顺序排队,如果身高相同则按照体重从重到轻排序。在调整队伍时,每次只能交换相邻两位同学的位置。老师想知道,最少需要多少次交换操作,才能将队伍调整成目标顺序。
输入格式
第一行,一个正整数 $n$,表示队伍人数。
接下来 $n$ 行,每行两个正整数 $h_i$ 和 $w_i$,分别表示第 $i$ 位同学的身高和体重。
输出格式
输出一行,一个整数,表示最少需要的交换次数。
样例说明
样例 1
5
1 60
3 70
2 80
4 55
4 50
8
样例 2
5
4 0
4 0
2 0
3 0
1 0
1
数据范围
对于所有测试点,保证 $1 \leq n \leq 3000$,$0 \leq h_i, w_i \leq 10^9$。