#P12985. [GCJ 2022 #1A] Equal Sum
[GCJ 2022 #1A] Equal Sum
Description
给定一组互不相同的整数,你需要将它们分成两个非空子集,使得每个元素恰好属于其中一个子集,且两个子集中所有元素的和相等。
匿名提示称上述问题不太可能在多项式时间内解决(或类似结论),因此我们决定修改题目。现在,你可以自行决定其中一半的整数!
这是一个包含三个阶段的交互题:
- 阶段1:你选择 个互不相同的整数。
- 阶段2:系统会额外提供 个整数,这些整数彼此不同且与你选择的整数不同。
- 阶段3:你需要将这 个整数划分为两个和相等的子集。
所有整数的取值范围为 到 (含),且保证它们的总和为偶数。
交互协议
这是一个交互问题。
初始时,你的程序需读取一个整数 表示测试用例数量,随后处理 个测试用例。
对于每个测试用例:
- 程序先读取一个整数 。
- 程序输出一行包含 个互不相同的整数 (每个整数在 到 范围内)。
- 程序读取一行包含 个额外整数 。
- 程序输出一行包含 到 个整数(从 和 的并集中选择),表示第一个子集的元素。未输出的元素自动归入第二个子集。
当前测试用例结束后,立即处理下一个(若存在)。所有测试用例均会被处理,无论最终输出是否正确。
注意:可以证明在本题限制下,存在至少一组 使得对任意给定的 ,都能将 个整数划分为和相等的两个子集。
若程序在任何时刻输出格式非法(如整数数量不符、范围越界或重复),裁判将返回 并终止交互。若程序未及时退出,将判为 Time Limit Exceeded。内存超限或运行时错误将得到相应判果。
Input Format
见交互协议。
Output Format
见交互协议。
2
3
10 4 9
3
10 8 12
5 1 3
1 10 5
5 2 3
12 8
Hint
样例解释
上述样例交互中,程序正确解决了所有测试用例。注意:样例中的 值不符合实际测试集限制,仅用于简化示例。若裁判在第一用例中给出 ,则可能无法找到合法划分。
可使用本地测试工具或平台调试。本地测试需配合交互运行器(详见工具文件注释)。
限制条件
测试集 1(可见判果)
- 。
- 。
- (对所有 )。
- (对所有 )。
- (对所有 )。
- 每个测试用例中,裁判选择的 保证 个整数的和为偶数。
翻译由 DeepSeek V3 完成
京公网安备 11011102002149号