CF1510B Button Lock

题目描述

有 $d$ 个按钮,编号从 $0$ 到 $d-1$,在按下一个按钮之后,按钮不会复位。有一个重置键,按下这个重置键之后,所有被按下的按钮都会被复位。 现在有一些按钮状态集合,你需要找到一个最短的操作序列,使得每一个集合表示的按钮是否被按下的状态在整个过程中都出现过至少一次,求这个序列。

输入格式

第一行两个数字 $d$ 和 $n$,分别表示按钮的数量和集合的数量。 接下来 $n$ 行每行一个长度为 $d$ 的只包含 `0` 和 `1` 的字符串,表示每一个按钮状态集合。其中 `0` 表示按钮未被按下,`1` 表示按钮被按下。

输出格式

第一行一个数字 $k$,表示序列的长度。 第二行输出你构造的操作序列,用数字表示按下该编号的按钮,用 `R` 表示按下重置键。序列中每两个元素用空格隔开。 如果有多个答案,输出任意一个。

说明/提示

### 数据范围 $ 1 \leq d \leq 10 $,$ 1 \leq n \leq 2^d - 1 $。