#P12901. [NERC 2020] Button Lock

    ID: 12672 Type: RemoteJudge 3000ms 512MiB Tried: 0 Accepted: 0 Difficulty: 6 Uploaded By: Tags>2020网络流Special Judge费用流ICPCNERC/NEERC

[NERC 2020] Button Lock

题目描述

You are standing in front of the room with great treasures. The only thing stopping you is the door with a push-button combination lock. This lock has dd buttons with digits from 00 to d1d - 1. Whenever you press a button, it stays pushed down. You can not pop back up just one button, but there is a "RESET" button --- pressing it pops up all other buttons. Initially, no buttons are pushed down.

The door instantly opens when some specific set of digits is pushed down. Sadly, you don't know the password for it. Having read the documentation for this specific lock, you found out that there are nn possible passwords for this particular lock.

Find the shortest sequence of button presses, such that all possible passwords appear at least once during its execution. Any shortest correct sequence of button presses will be accepted.

输入格式

The first line contains two integers dd and nn (1d101 \le d \le 10; 1n2d11 \le n \le 2^d - 1). Next nn lines describe possible passwords. Each line contains a string sis_i of dd zeros and ones: for all jj from 11 to dd the jj-th character is 1\tt{1} iff the button with the digit j1j - 1 must be pushed down.

All strings sis_i are different, and each string contains at least one 1\tt{1}.

输出格式

On the first line, print the number kk --- the minimum number of button presses. On the second line, print kk tokens, describing the sequence. Whenever you press a button with a digit, print that digit. Whenever you press "RESET", print R\tt{R}.

2 2
10
11
2
0 1
3 4
001
111
101
011
6
2 0 R 1 2 0

提示

In the second example, the sequence 12R201\tt{1 2 R 2 0 1} is also possible.