#P1461. [USACO2.1] 海明码 Hamming Codes

[USACO2.1] 海明码 Hamming Codes

题目描述

给出 n,b,dn,b,d,要求找出 nn 个由 0,10,1 组成的编码,每个编码有 bb 位,使得两两编码之间至少有 dd 个单位的 Hamming 距离

Hamming 距离是指两个二进制编码中的不同二进制位的数目。例如,编码 0101 0101 01000010 0011 0100 之间的 Hamming 距离55

0101 0101 0100
0010 0011 0100
 ^^^  ^^       

输入格式

一行三个整数 n,b,dn,b,d

输出格式

输出字典序最小的解(nn 个编码同样也要升序输出),每输出 1010 个编码换一行。

你需要先将每个编码当成二进制数,再将其转成十进制数输出。

16 7 3
0 7 25 30 42 45 51 52 75 76
82 85 97 102 120 127

提示

对于 100%100\% 的数据,1n641\le n \le 641b81\le b \le 81d71\le d \le 7

请注意:题目中只要求 Hamming 距离至少为 d\bm d,因此也可以大于 d\bm d

USACO 2.1

翻译来自NOCOW