SP10210 TRANSFER - After Party Transfers

题目描述

你参加了一场自带食物的聚会(每个人需自带一道菜),然而有些人对花费比其他人多感到不满。现在,他们希望你帮忙,通过最少次数的资金转账,让所有参与者的花费达到均衡。 具体而言,你可以任意在参与者之间进行资金转移,但最终,每个人准备食物的费用,加上收到的金额,减去支出的金额,必须相等。

输入格式

第一行是一个整数 $C \in [0..10]$,表示测试用例的数量。 对于每个测试用例,第一行是一个整数 $N \in [0..20]$,表示聚会的参与人数。 接下来的 $N$ 行中,每行包含一个整数 $x_i \in [0, 10^6]$,表示第 $i$ 个人准备食物的开销。

输出格式

对于每个测试用例: 首行输出为达到收支平衡所需的最少转账次数。 接下来的行采用 "a -> b: t" 的格式,其中 $a, b \in [0..N)$,表示第 $a$ 个人需要向第 $b$ 个人转账 $t$ 元。$t$ 为浮点数,需保证至少六位小数的精度。(注意:这是包括所有收入和支出后计算的精度) 如果有多种最优方案,选择任意一种输出即可。 **本翻译由 AI 自动生成**