#2444. 洗牌
洗牌
题目描述
若若得到了一副魔法卡牌!
魔法卡牌共有 张,每张卡牌上都写着一个数字,没有两张卡牌上的数字相同。
最初,卡牌被摞成一叠,从上到下的第 张卡牌上的数字为 。
随后,若若对卡牌进行了 次洗牌。洗牌的方法是这样的:将写有数字 的卡牌与写有数字 的卡牌之间的所有卡牌(包含写有数字 和 的卡牌)从牌堆中取出,再插入到牌堆的最下方,其他卡牌的顺序保持不变。
洗牌结束后,若若告诉你,她能把现在的牌序倒背如流!你心想:如果我能写出一个程序实现同样的功能,四舍五入我就和若若一样厉害!
请你向若若发起挑战吧!
输入格式
第一行两个正整数 和 , 用一个空格隔开,表示有 张卡牌,进行了 次洗牌。
第二行 个正整数,用一个空格隔开,第 个数 表示最初从上到下的第 张卡牌上的数字。
随后 行,每行两个正整数 和 ,用一个空格隔开。
输出格式
一行 个正整数 ,用一个空格隔开,表示最终的牌序。
由于若若对牌序倒背如流,所以你需要从下到上输出最终的牌序。
5 1
3 1 2 5 4
1 5
5 2 1 4 3
提示
样例解释
原牌序为 3 1 2 5 4
, 到 之间的部分为 1 2 5
。
将其从牌堆中取出后再插入到最下方,此时牌序为 3 4 1 2 5
。但题目要求倒序输出,于是输出为 5 2 1 4 3
。
数据范围
对于 的数据,满足 ,。
对于 的数据,满足 ,,,保证 两两不同。
若 ,保证此时写有数字 的卡牌位于写有数字 的卡牌上方。
补充说明
若写有数字 的卡牌已经在牌堆最下方,则该次洗牌对牌序无影响。