#Z0201708. 数组操作(二)
数组操作(二)
题目描述
小爱为了加密一个数列,要对这个数列进行操作。
小爱有3种操作:
一:对位置x的数值加y。
二:把位置x和位置y的数值对换。
三:把位置l到位置r的一段数值和位置(l+x)到位置(r+x)的一段数值对换。
例如:对1234567进行一操作,x=3,y=4,新的数列就是1274567。对1234567进行二操作,x=3,y=4,新的数列就是1243567。对1234567进行三操作,l=1,r=2,x=3,新的数列就是4531267。
他想知道操作后数值为多少。
输入格式
第一行有两个整数n,m,表示有n个数,m个操作 第二行有n个数,表示数组的数值。 再接下来,有m行,表示依次进行的操作。每行开头一个数k
若k=1,表示操作1,后面跟着x和y,意义同题目。
若k=2,表示操作2,后面跟着x和y,意义同题目。
若k=3,表示操作3,后面跟着l、r和x,意义同题目。
输出格式
输出完成后的数列。
5 3
1 2 3 4 5
1 3 7
2 1 5
3 1 2 3
4 1 10 5 2
数据规模与约定
n<=100,m<=100
对于操作一x<=n
对于操作二x<=n,y<=n
对于操作三l<=r<=n/2,x<=n,放心数据保证时间不超。