#S4U02P02. 【作业】交换指定的两段

【作业】交换指定的两段

交换指定的两段

难度:T1 【知识点:引用参数】【知识点:一维数组】【知识点:循环】

前置知识:数组下标、函数调用、引用参数。

题目描述

有一排NN个整数。指定其中两段位置[L1,R1][L_1,R_1]和[L2,R2][L_2,R_2],两段长度相同且不重叠。将两段中的对应元素交换,其余位置不变,输出交换后的整排数据。

位置从11开始编号,两端都包含。例如第一段的第一个元素与第二段的第一个元素交换,依此类推。此题不要求按数值大小排列。

输入格式

第一行是整数NN。

第二行是NN个整数aia_i。

第三行是L1,R1L_1,R_1;第四行是L2,R2L_2,R_2。

输出格式

一行NN个整数,表示交换后的数据,整数之间用空格分隔。

数据范围

2≤N≤202\le N\le20,−10000≤ai≤10000-10000\le a_i\le10000。

1≤Lj≤Rj≤N1\le L_j\le R_j\le N,j∈{1,2}j\in\{1,2\};保证两段不重叠且R1−L1=R2−L2R_1-L_1=R_2-L_2。输入的第一段不一定在左边。

样例输入

16
3 6 11 45 23 70 67 34 26 89 90 15 56 50 20 10
3 5
13 15

样例输出

3 6 56 50 20 70 67 34 26 89 90 15 11 45 23 10