CF1242C Sum Balance
题目描述
Ujan 有很多数字放在他的盒子里。他喜欢秩序与平衡,所以他决定重新排列这些数字。
有 $k$ 个盒子,编号从 $1$ 到 $k$。第 $i$ 个盒子里有 $n_i$ 个整数。这些整数可以为负数,且所有整数互不相同。
Ujan 很懒,他只会进行如下操作一次:他会从每个盒子中各选出一个整数,一共选出 $k$ 个整数。然后,他会将选出的这 $k$ 个整数重新放回盒子中,每个盒子放回一个整数,使得每个盒子中的数字个数与最初相同。注意,他可以把从某个盒子中选出的整数再放回原来的盒子。
如果每个盒子中所有整数的和都相等,Ujan 就会感到高兴。那么,他能否做到这一点,使得所有盒子都“完美平衡”呢?
输入格式
第一行包含一个整数 $k$($1 \leq k \leq 15$),表示盒子的数量。
接下来的 $k$ 行,每行描述一个盒子。第 $i$ 行首先包含一个整数 $n_i$($1 \leq n_i \leq 5000$),表示第 $i$ 个盒子中的整数个数。接下来是 $n_i$ 个整数 $a_{i,1}, \ldots, a_{i,n_i}$($|a_{i,j}| \leq 10^9$),表示第 $i$ 个盒子中的整数。
保证所有 $a_{i,j}$ 互不相同。
输出格式
如果 Ujan 无法实现目标,输出一行 “No”。
否则,第一行输出 “Yes”,接下来输出 $k$ 行。第 $i$ 行输出两个整数 $c_i$ 和 $p_i$,表示 Ujan 应该从第 $i$ 个盒子中选出整数 $c_i$,并将其放入第 $p_i$ 个盒子。
如果有多种方案,输出任意一种均可。
输出时字母大小写均可。
说明/提示
在第一个样例中,Ujan 可以将数字 $7$ 放入第 $2$ 个盒子,将数字 $2$ 放入第 $3$ 个盒子,将数字 $5$ 放入第 $1$ 个盒子,并将数字 $10$ 保留在第 $4$ 个盒子。这样,盒子中的数字分别为 $\{1,5,4\}$、$\{3,7\}$、$\{8,2\}$ 和 $\{10\}$。此时每个盒子的数字和都等于 $10$。
在第二个样例中,无法以要求的方式选取并重新分配数字。
在第三个样例中,可以交换 $-20$ 和 $-10$,使得每个盒子的和都等于 $-10$。
由 ChatGPT 4.1 翻译