六一儿童节到了,榔头小学的每个班级都在积极的准备自己的六一儿童节的庆祝方式。我们一起来看看大家都是怎么准备六一儿童节的吧。榔头F班的班主任准备了一个很有意思的项目。
班主任给班级里N位不同学号的同学每人分配了一张卡牌,每张卡牌上都有一个图画,这个图画用一个英文字符串表示,这些卡牌根据不同的码放顺序可以呈现出不同的效果。
现在班主任准备按照下面的方式将同学排成一列:
①先将第一个人安排进队列,此时队列中只有他一个人;
②将后面的2~N个人依次安排入列,学号为k的同学入列方式为:老师指定当前同学站在1~i-1中某个学号(之前已经入列的同学)的左边或者右边。
③最后从队列中再去掉M(M<N)个同学,其他同学位置顺序保持不变。
所有同学按照上述方式排队完毕后,老师想知道最后呈现的图案是什么样的。请输出队列中从左到右每位同学手中的卡牌内容。
输入 输入一共分为三个部分:第一部分为所有同学的学号和卡牌内容;第二部分为老师安排的站队方式;第三部分为:需要去除的同学!
第一部分:
第1行为一个整整数N,表示一共有N名同学。
接下来N行,每行输入一个整数k和一个字符串:分别表示学生的学号和对应的卡牌内容(输入的字符串不包含空格);
第二部分:
接下来N行,为站队过程;
第一行输入一个k,表示站队的第一个人的学号;
接下来N-1行,每行包含两个整数k1,k2,p;表示学号k1的同学站在学号k2同学的p边(数据保证k2在之前一定出现过),p为1或者0,p为0表示k1插入到k2的左边;p为1表示插入到k2的右边。
第三部分:
先输入一个M;表示去除的人数(M<N)
接下来一行:输入M个正整数表示,需要出队的学生学号!
输出 只有一行,输出若干个单个空格分隔的字符串,表示最终队列中从左到右每位同学的卡牌内容。
输入样例 1 5 1 to 2 welcome 3 hello 4 our 5 party 1 2 1 0 4 1 1 3 2 0 5 1 1 2 3 4 输出样例1 welcome to party 输入样例 2 7 10000 tortoise 610 rabbit 700 pig 12 cat 11 lobster 9543 dog 123 fish 123 11 123 0 12 123 0 10000 11 1 9543 12 0 700 9543 1 610 10000 1 1 610 输出样例2 lobster tortoise dog pig cat fish 提示 【输入输出样例 1 说明】
5位同学,学号1、2、3、4、5同学,拿的卡牌分别是:to、welcome、hello、our、party。
站队过程如下:
第一次:先是学号1的同学进入队列;此时队伍顺序为:1
第二次:2 1 0表示学号2的同学站在学号1同学的左边,此时队伍顺序为:2 1;
第三次:4 1 1表示学号4的同学站在学号1同学的右边,此时队伍顺序为:2 1 4;
第四次:3 2 0表示学号3的同学站在学号2同学的左边,此时队伍顺序为:3 2 1 4;
第五次:5 1 1表示学号5的同学站在学号1同学的右边,此时队伍顺序为:3 2 1 5 4;
出队过程如下:
学号为3 4的两位同学出队,其他同学位置顺序不变,此时队伍为:2 1 5;
最终输出的卡牌内容依次为:学号为2 1 5的三位同学手中的卡牌,为:welcome to party
【数据规模与约定】
数据范围:1 ≤ M < N ≤10001≤M<N≤1000;
学号大小:1 ≤ k,k1,k2 ≤ 10^61≤k,k1,k2≤10 6 ; 卡牌内容是一个长度不超过50位的不带空格的字符串。