QOJ.ac

QOJ

时间限制: 1 s 内存限制: 512 MB 总分: 100

#3482. 颜色代码

统计

格雷码(Gray codes)是信息论中的一个经典课题,有着许多实际应用,但本题并不涉及这些应用。一个 $n$ 位格雷码是所有 $n$ 位二进制字符串的一个排列 $(x_1, x_2, \dots, x_{2^n})$,其性质是任意相邻的两个字符串恰好有 1 位不同。更正式地说,对于每个 $1 \le i < 2^n$,都有 $d(x_i, x_{i+1}) = 1$,其中 $d(\cdot, \cdot)$ 表示两个二进制字符串之间的汉明距离。例如,当 $n = 3$ 时,序列 $(000, 001, 011, 010, 110, 111, 101, 100)$ 就是一个格雷码。

Picture by designmilk on Flickr, cc by-sa

虽然格雷码很棒,但它们也有点……“灰”色调。在本题中,我们来看一个更加丰富多彩的变体。

对于整数 $n \ge 1$ 和整数集合 $P \subseteq \{1, \dots, n\}$,如果所有 $n$ 位二进制字符串的一个排列 $(x_1, \dots, x_{2^n})$ 满足对于所有 $1 \le i < 2^n$,都有 $d(x_i, x_{i+1}) \in P$(即任意相邻两个字符串差异的位数都在 $P$ 中),则称该排列为具有调色板 $P$ 的 $n$ 位彩色码。

注意,对于某些调色板,彩色码可能不存在。例如,如果 $n = 6$ 且 $P = \{6\}$,则第二个字符串必须是第一个字符串的按位取反,但这样第三个字符串必须是第二个字符串的取反,即等于第一个字符串。

给定 $n$ 和 $P$,你能构造出一个具有调色板 $P$ 的 $n$ 位彩色码吗?

输入格式

输入的第一行包含两个整数 $n$ ($1 \le n \le 16$) 和 $p$ ($1 \le p \le n$)。接下来一行包含 $p$ 个不同的整数 $s_1, \dots, s_p$ ($1 \le s_i \le n$,对于每个 $i$),即 $P$ 中的元素。

输出格式

如果存在具有调色板 $P$ 的 $n$ 位彩色码,请输出 $2^n$ 行,按顺序包含该代码的元素。如果存在多种不同的代码,输出其中任意一个即可。如果不存在这样的代码,输出 “impossible”。

样例

输入格式 1

6 1
6

输出格式 1

impossible

输入格式 2

3 1
1

输出格式 2

000
001
011
010
110
111
101
100

输入格式 3

4 2
3 2

输出格式 3

0110
1101
1011
0001
0111
1100
1001
0000
0101
0011
1111
1010
0100
1000
0010
1110

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.