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 翻译