问题 6645 --数组重排

6645: 数组重排★★

时间限制: 1 Sec  内存限制: 128 MB
提交: 54  解决: 29
[提交][状态][命题人:]

题目描述

给定两个数组a,b,长度分别为m,n,现对a数组关于b数组内容进行重排:

将数组a按大小为n的块进行重排,每块的重排顺序由数组b中的索引决定。

输入

包括四行

第一行为a数组的长度m(m<=1000)

第二行包含m个整数,为数组a(a[i]int范围内)

第三行为b数组的长度n(n<=1000)

第四行包含n个整数,为数组b

输出

一行,即重排完的数组a

样例输入
Copy
9
1 2 3 4 5 6 7 8 9
3
2 0 1
样例输出
Copy
3 1 2 6 4 5 9 7 8

提示

保证m为n的倍数

对于数组a = [1, 2, 3, 4, 5, 6, 7, 8, 9],块大小为n = 3。按b = [2, 0, 1]的顺序重排每个块:

  • 第一个块[1, 2, 3]重排为[3, 1, 2]
  • 第二个块[4, 5, 6]重排为[6, 4, 5]
  • 第三个块[7, 8, 9]重排为[9, 7, 8]

最终数组为[3, 1, 2, 6, 4, 5, 9, 7, 8]。

来源

[提交][状态]