#P15052. [UOI 2023 II Stage] Memory training
[UOI 2023 II Stage] Memory training
题目描述
Vasyl 和 Petro 正在训练他们的记忆力。为此,他们取一个包含 个元素的数组 ,并执行以下操作:
- 首先,Vasyl 从数组中任意取一个数,并以随机顺序报出数组中所有其他元素。
- 然后 Petro 从 Vasyl 报出的数组中任意取一个数,并以随机顺序报出该数组中所有其他元素。
- 接着 Vasyl 再次进行他的回合。
- 然后 Petro 进行他的回合。
- 依此类推。
显然,经过 轮操作后,数组 的所有元素将被分配给 Vasyl 和 Petro。
让我们看一个记忆力训练的例子。假设初始数组为 。
- Vasyl 进行第一步操作:。他取走了数字 ,并以随机顺序报出了数组 的所有其他元素。
- 接着 Petro 报出这个数组:。他为自己取走了数字 。
- Vasyl 报出这个数组:。他为自己取走了数字 。
- Petro 报出这个数组:。他为自己取走了数字 。
- Vasyl 报出这个数组:。他为自己取走了数字 。
- Petro 取走最后一个数字 归自己。
- 因此,Vasyl 得到了数字 ,而 Petro 得到了数字 。
编写一个程序,根据给定的输入数组和操作序列,确定谁得到了哪些元素。
输入格式
- 第一行包含一个整数 ()——数组的元素个数。
- 第二行包含 个整数 ()。
- 接下来的 行,每行包含一个由 Vasyl 或 Petro 报出的数组。保证这些数组是正确的,即每个数组都可以由前一个数组得到。
输出格式
- 第一行输出 Vasyl 取走的元素,按非降序排列。
- 第二行输出 Petro 取走的元素,按非降序排列。
6
1 2 3 4 5 6
3 6 1 2 4
2 6 3 4
3 4 6
4 3
3
2 4 5
1 3 6
5
1 8 4 2 100
2 4 100 8
100 2 8
2 8
2
1 2 100
4 8
提示
本题中,每个测试点是独立评分的。此外:
- 在 的测试点中,初始数组 中的每个整数 到 恰好出现一次。
- 在 的测试点中,。
翻译由 DeepSeek V3 完成