#P3881. [JLOI2008] CODES

    ID: 4598 远端评测题 1000ms 125MiB 尝试: 0 已通过: 0 难度: 7 上传者: 标签>字符串动态规划 DP搜索2008各省省选吉林

[JLOI2008] CODES

题目描述

给定 nn01\texttt{01} 编码串 S1,S2,,SnS_1,S_2,\dots,S_n,你的任务是寻找一个编码串 TT,使得它至少可以被分解为两种不同的 SiS_i 的排列。

例如:

给定 5501\texttt{01} 编码串:$S_1=\texttt{0110},S_2=\texttt{00},S_3=\texttt{111},S_4=\texttt{001100},S_5=\texttt{110}$。那么一个符合要求的编码串 TT 是:001100110\texttt{001100110},它有以下两种分解方法:

$\texttt{00}+\texttt{110}+\texttt{0110} (S_2+S_5+S_1)$ 或 001100+110(S4+S5)\texttt{001100}+\texttt{110} (S_4+S_5)

01101100110110 就不符合要求,它只有一种分解方法 0110+110(S1+S5)\texttt{0110}+\texttt{110} (S_1+S_5)

你要寻找长度最短的符合要求的编码串 TT。若有多个符合要求的最短编码串 TT,则输出字典顺序最小的。

输入格式

输入文件第一行包含一个整数 nn,表示 01\texttt{01} 编码串总数。接下来的 nn 行每行给出一个长度不超过 202001\texttt{01} 编码串。

输出格式

输出文件共有两行,第一行为要求的编码串 TT 的长度,第二行输出编码串 TT。对所有的测试数据,问题总有解。

5
0110
00
111
001100
110

9
001100110

提示

  • n20n\le 20