#P583. 【HAOI2005】寻找编码串
【HAOI2005】寻找编码串
【问题描述】
给定N个由0和1组成的编码S1,S2,…,Sn,寻找一个长度最短的编码串T,使得T至少可以分解出两种不同的Si的排列,在排列中有的编码可以不出现。
例如:S1=0110,S2=00,S3=111,S4=001100,S5=110,编码串T=001100110
T有两种不同的分解T=S2+S5+S1,T=S4+S5
【输入文件】codestring.in
第1行:N(编码的个数N<=20)
第2--N+1行:Si(第i个编码,Si的长度<=50)
注意,该例子只是对库函数的使用说明,并没有算法上的意义。
【输出文件】codestring.out
第1行:M(编码串的长度)
第2行:T(长度最短的编码串)
【约束条件】
若有多个长度相同且最短的编码串。则输出字典序最小的编码串。例如:若有两种最短的编码串:10110010100利10001110010,则输出10001110010。
【输入输出样例】
codestring.in
5
0110
00
111
001100
1100
codestring.out
6
001100