该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
还原排列
题目描述
Y 同学有一个长度为 的排列 。长度为 的排列是由 这 个整数各出现一次组成的序列。
现在Y 同学把两个完全相同的排列 合并成了一个长度为 的序列 。合并时,需要保持每一个排列内部元素的相对顺序不变。
也就是说,可以看成有两份相同的排列 ,每次从其中一份还没有取出的元素中取出当前最靠前的一个,放到新序列 的末尾,直到两份排列的所有元素都被取完。
例如,当 时,可能得到:
$$[3,1,2,3,1,2],\quad [3,3,1,1,2,2],\quad [3,1,3,1,2,2]。 $$现在给定合并后的序列 ,请你还原原来的排列 。
保证答案存在且唯一。
输入格式
第一行包含一个整数 ,表示测试数据组数。
接下来依次给出 组数据。对于每组数据:
第一行包含一个整数 。
第二行包含 个整数 ,表示合并后的序列。
输出格式
对于每组数据,输出一行 个整数,表示还原出的排列 。
相邻两个整数之间用一个空格隔开。
样例
样例输入 #1
5
2
1 1 2 2
4
1 3 1 4 3 4 2 2
5
1 2 1 2 3 4 3 5 4 5
3
1 2 3 1 2 3
4
2 3 2 4 1 3 4 1
样例输出 #1
1 2
1 3 4 2
1 2 3 4 5
1 2 3
2 3 4 1
样例解析
对于第一组数据,合并后的序列为 。第一次出现的不同数字依次是 ,所以原排列为 。
对于第二组数据,合并后的序列为 。从左到右扫描,数字第一次出现的顺序为 ,因此原排列为 。
数据范围与约定
对于 的数据,保证 ,,,并且每组数据中的 一定可以由某个长度为 的排列与自身合并得到,答案存在且唯一。
| 测试点编号 | 分值 | 特殊性质 | ||
|---|---|---|---|---|
| 1-2 | 10 | 无 | ||
| 3-5 | 15 | 特殊性质 A | ||
| 6-8 | 特殊性质 B | |||
| 9-12 | 20 | 特殊性质 C | ||
| 13-16 | 无 | |||
| 17-20 |
- 特殊性质 A:保证每组数据的原排列为 。
- 特殊性质 B:保证每组数据的合并序列形如 。
- 特殊性质 C:保证每组数据中 。
京公网安备11010802045784号