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

[USACO2.1] 海明码 Hamming Codes

题目描述

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

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

0101 0101 0100
0010 0011 0100
 ^^^  ^^       

输入格式

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

输出格式

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

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

输入输出样例 #1

输入 #1

16 7 3

输出 #1

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

说明/提示

对于 100%100\% 的数据,1≤n≤641\le n \le 64,1≤b≤81\le b \le 8,1≤d≤71\le d \le 7。

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

USACO 2.1

翻译来自NOCOW