CF2038I.Polyathlon

省选/NOI-

通过率:0%

AC君温馨提醒

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

题目描述

伯兰(Berland)是今年国际大学生多项全能比赛的主办国!与双项全能是两个项目的比赛类似,多项全能是多个项目的比赛。今年有 mm 个项目。此外,还有 nn 名参赛者。项目编号从 11 到 mm ,参赛者编号从 11 到 nn 。

有些参赛者擅长多项运动。我们还知道,对于每一对参与者来说,至少存在一种运动,即其中一人擅长该运动,而另一人不擅长。

比赛项目的顺序在开幕式上决定。从历史上看,它是由万能的随机数生成器决定的。掷出一个从 11 到 mm 的随机数 xx 。比赛从 xx 开始,然后是 (x mod m+1)(x \bmod m + 1) ,接着是 ((x+1) mod m+1)((x + 1) \bmod m + 1) ,以此类推。

每个项目的比赛规则如下。如果剩下的所有参赛者(所有尚未被淘汰的参赛者)都不擅长该项目,则所有人都进入下一个项目。否则,所有熟练的参赛者都进入下一个项目,所有不熟练的参赛者都被淘汰出局。一旦比赛只剩下一名参赛者,比赛即告结束,该参赛者即为获胜者。

作为比赛的组织者,您事先对比赛可能出现的结果很好奇。对于每个运动项目 xx ,如果比赛从运动项目 xx 开始,请打印获胜者的编号。

输入格式

第一行包含两个整数 nn 和 mm ( 2≤n,m≤106,n≤2m,nm≤2×1062 \le n, m \le 10^6,n \le 2^m,nm \le 2 \times 10^6 ),它们分别是参赛人数和运动项目数。

接下来 nn 行的每行中包含一个二进制字符串,该字符串正好由 mm 个字符 0 或 1 组成--即第 ii 个参赛者的技能组合。如果第 jj 个字符为1,则 ii 个参赛者熟练掌握了 jj 运动。如果为0,则第 ii 个参与者不擅长 jj 运动。

输入的附加限制:对于每一对参与者来说,至少存在一种运动,即其中一人擅长该运动,而另一人不擅长。换句话说,所有 nn 二进制字符串都是成对不同的。

输出格式

输出 mm 个整数。对于从 11 到 mm 的每个 xx ,如果比赛从运动 xx 开始,则打印获胜者的编号。

输入输出样例

  • 输入#1

    3 5
    10010
    01100
    10101

    输出#1

    3 2 3 1 3

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

首页