#agc045e. [agc045_e]Fragile Balls
[agc045_e]Fragile Balls
题目描述
我们有 个编号为 到 的盒子,和 个编号为 到 的球。初始时,球 放在盒子 中。
你可以进行以下操作:
- 选择一个包含两个或更多个球的盒子,从中取出一个球,并将其放入另一个盒子中。
由于球很容易损坏,你不能让球 移动超过 次。在这个限制下,你可以进行任意次数的操作。
你的目标是让所有球 ()都放在盒子 中。判断是否能够实现这个目标。如果能够实现,还需找到实现它所需的最小操作次数。
约束条件
- 在目标实现的情况下,每个盒子都至少包含一个球。也就是说,对于每个 (),存在 ,使得 。
输入
输入以标准输入格式给出,格式如下所示:
输出
如果无法实现目标,则输出 ;如果能够实现目标,则输出实现它所需的最小操作次数。
示例输入 1
3 3
1 2 1
2 1 1
1 3 2
示例输出 1
3
我们可以用以下三个操作实现目标:
- 从盒子 中取出球 并放入盒子 。
- 从盒子 中取出球 并放入盒子 。
- 从盒子 中取出球 并放入盒子 。
示例输入 2
2 2
1 2 1
2 1 1
示例输出 2
-1
示例输入 3
5 5
1 2 1
2 1 1
1 3 2
4 5 1
5 4 1
示例输出 3
6
示例输入 4
1 1
1 1 1
示例输出 4
0