QOJ.ac

QOJ

Limite de temps : 3 s Limite de mémoire : 512 MB Points totaux : 100

#1663. 按钮锁

Statistiques

你站在一间藏有巨大宝藏的房间前。唯一阻挡你的是一扇带有按钮组合锁的门。这把锁有 $d$ 个按钮,数字从 $0$ 到 $d-1$。每当你按下某个按钮,它就会保持按下状态。你无法单独弹起某一个按钮,但有一个“RESET”按钮——按下它会弹起所有其他按钮。初始时,没有任何按钮被按下。

当按下某组特定的数字时,门会立即打开。遗憾的是,你不知道密码。在阅读了该锁的文档后,你发现这把锁有 $n$ 种可能的密码。

请找到最短的按钮按压序列,使得所有可能的密码在执行过程中至少出现一次。任何最短的正确按压序列均可被接受。

输入格式

第一行包含两个整数 $d$ 和 $n$ ($1 \le d \le 10$; $1 \le n \le 2^d - 1$)。接下来的 $n$ 行描述了可能的密码。每行包含一个长度为 $d$ 的由 $0$ 和 $1$ 组成的字符串 $s_i$:对于所有从 $1$ 到 $d$ 的 $j$,若第 $j$ 个字符为 $1$,则表示数字为 $j-1$ 的按钮必须被按下。

所有字符串 $s_i$ 均不相同,且每个字符串至少包含一个 $1$。

输出格式

第一行输出一个数字 $k$,表示最少的按压次数。第二行输出 $k$ 个标记,描述该序列。每当你按下数字按钮时,输出该数字。每当你按下“RESET”按钮时,输出“R”。

样例

输入 1

2 2
10
11

输出 1

2
0 1

输入 2

3 4
001
111
101
011

输出 2

6
2 0 R 1 2 0

说明

在第二个样例中,序列 1 2 R 2 0 1 也是可行的。

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.