P1461 [USACO2.1] 海明码 Hamming Codes
题目描述
给出 $n,b,d$,要求找出 $n$ 个由 $0,1$ 组成的编码,每个编码有 $b$ 位,使得两两编码之间至少有 $d$ 个单位的 **Hamming 距离**。
**Hamming 距离**是指两个二进制编码中的不同二进制位的数目。例如,编码 `0101 0101 0100` 和 `0010 0011 0100` 之间的 **Hamming 距离**是 $5$:
```plain
0101 0101 0100
0010 0011 0100
^^^ ^^
```
输入格式
一行三个整数 $n,b,d$。
输出格式
输出字典序最小的解($n$ 个编码同样也要升序输出),每输出 $10$ 个编码换一行。
你需要先将每个编码当成二进制数,再将其转成十进制数输出。
说明/提示
对于 $100\%$ 的数据,$1\le n \le 64$,$1\le b \le 8$,$1\le d \le 7$。
**请注意:题目中只要求 Hamming 距离至少为 $\bm d$,因此也可以大于 $\bm d$。**
USACO 2.1
翻译来自NOCOW