Zyn的数列
提交数: 1143, 通过率: 55.47%, 平均分: 57.08
题目描述:
Zyn为了加密一个数列,要对这个数列进行操作。
Zyn有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,并且对于操作三l<=r<=n/2,x<=n,对于操作二x<=n,y<=n,对于操作一x<=n,放心数据保证时间不超。
时间限制: 1000ms空间限制: 256MB
来源: 原创