QOJ.ac

QOJ

حد الوقت: 3.0 s حد الذاكرة: 512 MB مجموع النقاط: 100

#12715. 弹珠分配

الإحصائيات

Debbie、Debby、Debra 和 Deborah 准备一起玩一个弹珠游戏。Debbie 带来了 $2^{d_1}$ 个弹珠,Debby 带来了 $2^{d_2}$ 个弹珠,Debra 带来了 $2^{d_3}$ 个弹珠,而 Deborah 带来了 $2^{d_4}$ 个弹珠。孩子们将他们的弹珠汇集成一个包含 $2^{d_1} + 2^{d_2} + 2^{d_3} + 2^{d_4}$ 个弹珠的堆,游戏随即开始。

游戏由若干回合组成。每一回合包含两个步骤: 孩子们选择任意一个包含多于一个弹珠的堆,并将其分成两个非空的堆。也就是说,如果选中的堆包含 $m \ge 2$ 个弹珠,那么新的两个堆必须分别包含 $m_1$ 和 $m_2$ 个弹珠,其中 $m_1$ 和 $m_2$ 为正整数,且 $m_1 + m_2 = m$。 如果存在多个包含相同数量弹珠的堆,则只保留其中一个,其余所有相同数量的堆都会被丢弃(移除)。

当只剩下一个堆,且该堆中仅包含一个弹珠时,游戏结束。游戏的目标是以最少的回合数结束游戏。请注意,这是一个合作游戏,孩子们不是在相互竞争,而是共同努力达成目标。

请帮助孩子们找到最佳的游戏策略。

输入格式

输入的第一行包含一个整数 $T$ —— 测试用例的数量 ($1 \le T \le 500$)。 接下来的 $T$ 行,每行描述一个测试用例,包含四个非负整数 $d_1, d_2, d_3, d_4$ ($0 \le d_i \le 20$)。

输出格式

对于每个测试用例,输出一个整数 $t$ —— 结束游戏所需的最少回合数。 然后,按执行顺序输出 $t$ 个回合的描述。每个描述应包含三个整数 $m, m_1, m_2$ —— 分别表示被拆分的堆的大小以及拆分后两个新堆的大小 ($m \ge 2; m_1 > 0; m_2 > 0; m_1 + m_2 = m$)。请注意,在执行该回合时,必须存在一个大小为 $m$ 的堆,且在游戏结束时,应该只剩下一个堆,且该堆中包含一个弹珠。

样例

输入 1

2
1 0 1 0
0 1 2 3

输出 1

3
6 2 4
4 2 2
2 1 1
5
15 10 5
10 5 5
5 1 4
4 2 2
2 1 1

说明

考虑第二个样例。最初,有一个包含 $2^0 + 2^1 + 2^2 + 2^3 = 15$ 个弹珠的堆。第一回合后,剩下两个分别包含 10 和 5 个弹珠的堆。第二次拆分后,有三个包含 5 个弹珠的堆,其中两个被丢弃,因此只剩下一个包含 5 个弹珠的堆。第三回合后,剩下两个分别包含 1 和 4 个弹珠的堆。第四回合后,剩下两个分别包含 1 和 2 个弹珠的堆(另一个包含 2 个弹珠的堆被丢弃)。最后,在第五回合后,只剩下一个包含 1 个弹珠的堆(其他两个包含 1 个弹珠的堆被丢弃)。

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.