GESP编程共123题,本题是整站第1433题,已经有人完成了本题,加油!
小杨有一个包含 n 个正整数的序列 a。
小杨计划对序列进行多次升序排序,每次升序排序小杨会选择一个区间 [l,r](l≤r)并对区间内所有数字,即进行升序 al,al+1,…ar 排序。每次升序排序会在上一次升序排序的结果上进行。
小杨想请你计算出多次升序排序后的序列。
第一行包含一个正整数 n,含义如题面所示。
第二行包含 n 个正整数 a1,a2,…an,代表序列 a。
第三行包含一个正整数 q,代表排序次数。
之后 q 行,每行包含两个正整数 l,r,代表将区间 [li,ri] 内所有数字进行升序排序。
输出一行包含 n 个正整数,代表多次升序排序后的序列。
输入 #1
5 3 4 5 2 1 3 4 5 3 4 1 3
输出 #1
1 3 4 5 2
对于全部的测试数据,保证 1≤n,ai,q≤100,1≤li≤ri≤n。
【解题思路】
1. 将要排序的数据存储在列表中,初始化定义一个长度为1010的数组,尽可能大的数据,确保在输入规模较大的情况下不会越界
2. 定义排序方法对数据进行排序
3. 处理部分:
4. 存储输入数据
5. 处理需要进行排序的区间操作数q
6. 对选定的l,r区间范围内数据进行排序操作,调用之前定义好的排序方法
7. 输出结果
【参考程序】
本站题目仅供学习,GESP版权归CCF所有,如有侵权请联系删除。站长陈老师QQ及微信:208234。