#P1909. Marbles on a tree
Marbles on a tree
有个盒子放置在一棵有根树的顶点上,顶点编号为到,其中。每个盒子要么为空,要么装有若干弹珠,且弹珠的总数为。
任务是移动这些弹珠,使得每个盒子中恰好有颗弹珠。移动操作按如下方式进行:每次操作将颗弹珠从一个盒子移动到相邻的顶点上。求完成上述目标所需的最少移动次数。
输入包含多个测试用例。每个测试用例的第一行是整数,接下来有行。每行至少包含三个数:顶点编号、该顶点初始的弹珠数量、子节点的数量,以及个表示该顶点子节点编号的整数。
输入的最后一个测试用例以表示,这个用例不需要处理。
对于每个测试用例,输出一个整数,表示将所有弹珠移动到每个顶点各一颗所需的最少移动次数。
输入数据1
9
1 2 3 2 3 4
2 1 0
3 0 2 5 6
4 1 3 7 8 9
5 3 0
6 0 0
7 0 0
8 2 0
9 0 0
9
1 0 3 2 3 4
2 0 0
3 0 2 5 6
4 9 3 7 8 9
5 0 0
6 0 0
7 0 0
8 0 0
9 0 0
9
1 0 3 2 3 4
2 9 0
3 0 2 5 6
4 0 3 7 8 9
5 0 0
6 0 0
7 0 0
8 0 0
9 0 0
0
输出数据1
7
14
20