CF1622E Math Test
题目描述
Petya 是一名数学老师。他的 $n$ 名学生完成了一份包含 $m$ 道题目的测试。对于每个学生,已知他答对了哪些题目,哪些没有答对。
如果某名学生答对了第 $j$ 道题,他将获得 $p_j$ 分(否则得 $0$ 分)。此外,每道题的分值分配使得数组 $p$ 是 $1$ 到 $m$ 的一个排列。
对于第 $i$ 名学生,Petya 知道他期望在测试中获得 $x_i$ 分。Petya 想知道测试结果有多出乎意料。Petya 认为学生测试结果的“惊讶值”定义为 $ \sum\limits_{i=1}^{n} |x_i - r_i| $,其中 $r_i$ 表示第 $i$ 名学生实际获得的分数。
你的任务是帮助 Petya 找到一种排列 $p$,使得“惊讶值”最大。如果有多种答案,输出任意一种即可。
输入格式
第一行包含一个整数 $t$($1 \le t \le 10^4$),表示测试用例的数量。
每个测试用例的第一行包含两个整数 $n$ 和 $m$($1 \le n \le 10$;$1 \le m \le 10^4$),分别表示学生人数和题目数量。
第二行包含 $n$ 个整数 $x_1, x_2, \dots, x_n$($0 \le x_i \le \frac{m(m+1)}{2}$),其中 $x_i$ 表示第 $i$ 名学生期望获得的分数。
接下来 $n$ 行,每行一个长度为 $m$ 的字符串 $s_i$($|s_i| = m; s_{i, j} \in \{0, 1\}$),其中 $s_{i, j}$ 为 $1$ 表示第 $i$ 名学生答对了第 $j$ 道题,否则为 $0$。
所有测试用例中 $m$ 的总和不超过 $10^4$。
输出格式
对于每个测试用例,输出 $m$ 个整数,表示一种排列 $p$,使得“惊讶值”最大。如果有多种答案,输出任意一种即可。
说明/提示
由 ChatGPT 4.1 翻译