#31. 海明距离

海明距离

附加文件

【题目背景】

“Hamming 距离”是指对于两个编码,他们二进制表示法中的不同二进制位的数目。看下面的两个编码 0x5540x234(十六进制数)

0x554 = 0101 0101 0100
0x234 = 0010 0011 0100
不同位   xxx  xx

因为有五个对应二进制位不同,所以这两个编码的“Hamming 距离”是 55

【题目描述】

老师在黑板上写了 NN 个二进制数,每个二进制数的位数均为 LL

对于老师所写的每个数,小明想知道,该数和其他所有数的 Hamming 距离最大是多少?

【输入格式】

第一行:两个整数 NNLL

接下来 NN 行:每行有一个长度为 LL 的二进制数

【输出格式】

NN 行,按输入顺序依次输出每个数和其他所有数的 Hamming 距离最大值

【样例输入】

3 5
00000
00001
00010

【样例输出】

1
2
2

【数据范围】

共 20 个测试点,全部满足 2N105,1L182 ≤ N ≤ 10^5,1 ≤ L ≤ 18。其中

  • 测试点 1-5:L10L ≤ 10
  • 测试点 6-9:每个答案至少为 LL-33