CF1622E.Math Test

提高+/省选-

通过率:0%

时间限制:2.00s

内存限制:256MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

Petya is a math teacher. nn of his students has written a test consisting of mm questions. For each student, it is known which questions he has answered correctly and which he has not.

If the student answers the jj-th question correctly, he gets pjp_j points (otherwise, he gets 00 points). Moreover, the points for the questions are distributed in such a way that the array pp is a permutation of numbers from 11 to mm.

For the ii-th student, Petya knows that he expects to get xix_i points for the test. Petya wonders how unexpected the results could be. Petya believes that the surprise value of the results for students is equal to ∑i=1n∣xi−ri∣\sum\limits_{i=1}^{n} |x_i - r_i|, where rir_i is the number of points that the ii-th student has got for the test.

Your task is to help Petya find such a permutation pp for which the surprise value of the results is maximum possible. If there are multiple answers, print any of them.

佩佳是一名数学老师。他的 nn 名学生参加了一场包含 mm 道题的测验。对于每名学生,已知他哪些题目答对、哪些题目答错。

若某学生正确回答了第 jj 道题,则他获得 pjp_j 分(否则得 00 分)。此外,各题分值按如下方式分配:数组 pp 是 11 到 mm 这些整数的一个排列。

对于第 ii 名学生,佩佳知道他预期在本次测验中获得 xix_i 分。佩佳想知道实际结果可能有多“出人意料”。佩佳定义学生们的“意外值”为 ∑i=1n∣xi−ri∣\sum\limits_{i=1}^{n} |x_i - r_i|,其中 rir_i 表示第 ii 名学生实际获得的分数。

你的任务是帮助佩佳找出一个排列 pp,使得结果的意外值尽可能大。如有多个满足条件的答案,输出任意一个即可。

输入格式

The first line contains a single integer tt (1≤t≤1041 \le t \le 10^4) — the number of test cases.

The first line of each test case contains two integers nn and mm (1≤n≤101 \le n \le 10; 1≤m≤1041 \le m \le 10^4) — the number of students and the number of questions, respectively.

The second line contains nn integers x1,x2,…,xnx_1, x_2, \dots, x_n (0≤xi≤m(m+1)20 \le x_i \le \frac{m(m+1)}{2}), where xix_i is the number of points that the ii-th student expects to get.

This is followed by nn lines, the ii-th line contains the string sis_i (∣si∣=m;si,j∈0,1|s_i| = m; s_{i, j} \in {0, 1}), where si,js_{i, j} is 11 if the ii-th student has answered the jj-th question correctly, and 00 otherwise.

The sum of mm for all test cases does not exceed 10410^4.

第一行包含一个整数 tt(1≤t≤1041 \le t \le 10^4)—— 测试用例的数量。

每个测试用例的第一行包含两个整数 nn 和 mm(1≤n≤101 \le n \le 10;1≤m≤1041 \le m \le 10^4)—— 分别表示学生人数和题目数量。

第二行包含 nn 个整数 x1,x2,…,xnx_1, x_2, \dots, x_n(0≤xi≤m(m+1)20 \le x_i \le \frac{m(m+1)}{2}),其中 xix_i 表示第 ii 个学生预期获得的分数。

接下来是 nn 行,第 ii 行包含一个字符串 sis_i(∣si∣=m|s_i| = m;si,j∈{0,1}s_{i, j} \in \{0, 1\}),其中 si,js_{i, j} 为 11 表示第 ii 个学生正确回答了第 jj 道题,为 00 则表示回答错误。

所有测试用例的 mm 值之和不超过 10410^4。

输出格式

For each test case, print mm integers — a permutation pp for which the surprise value of the results is maximum possible. If there are multiple answers, print any of them.

对于每个测试用例,输出 mm 个整数——一个使得结果的“惊喜值”达到最大可能值的排列 pp。如果存在多个答案,输出其中任意一个即可。

输入输出样例

  • 输入#1

    3
    4 3
    5 1 2 2
    110
    100
    101
    100
    4 4
    6 2 0 10
    1001
    0010
    0110
    0101
    3 6
    20 3 15
    010110
    000101
    111111

    输出#1

    3 1 2 
    2 3 4 1 
    3 1 4 5 2 6

输入解题思路,AI测评打分。不知道怎么写?

首页