CF2148F Gravity Falls
题目描述
农夫约翰有 $n$ 个数组 $a_1, a_2, \ldots, a_n$,它们的长度可能不同。他将把这些数组堆叠在一起,形成一个有 $n$ 行的网格。数组按左对齐放置,可以按任意顺序叠放。
接下来,重力会生效。任何不在最底行,且下方没有元素的单元格会向下掉落一行。这个过程会不断重复,直到没有符合条件的单元格为止。
在所有可能的堆叠顺序中,输出经过重力作用后,字典序最小的底行。
输入格式
第一行为 $t$($1 \leq t \leq 1000$)——表示测试用例的数量。
每个测试用例的第一行为 $n$($1 \leq n \leq 2 \cdot 10^5$)。
接下来的 $n$ 行中,每行第一个整数 $k_i$($1 \leq k_i \leq 2 \cdot 10^5$)表示 $a_i$ 的长度。
接着是 $k_i$ 个用空格分隔的整数 $a_{i_1}, a_{i_2}, \ldots, a_{i_{k_i}}$($1 \leq a_{i_j} \leq 2 \cdot 10^5$)。
保证所有测试用例中 $n$ 的总和以及所有 $k_i$ 的总和不超过 $2 \cdot 10^5$。
输出格式
对于每个测试用例,输出重力作用后字典序最小的底行,每行一个测试用例的答案。
说明/提示
测试用例 2 的示意图:

测试用例 4 的示意图:

由 ChatGPT 5 翻译