[SCOI2008]劣质编码

Grade 0 Open Time Thursday, 21 February 2013, 11:02 pm
Discount 0.8 Time Discount Thursday, 28 February 2013, 11:02 pm
Allow late Yes Close Time Thursday, 28 February 2013, 11:02 pm
Input file codez.in Output file codez.out
题目背景:
一个编码方案把每个字符对应到一个01 串。例如{1,1010,01,10101}就是一个编码方案,它把四个字符(假设它们为a,b,c,d)分别对应到串1、1010,01,10101。字符串的编码为各字符编码的连接。例如,在刚才的编码方案中,字符串cac的编码为01101,dcb的编码为10101011010。
进一步分析发现,刚才的编码是相当劣质的,因为字符串ba, acc 和d 的编码都是10101。对于一个编码方案,你的任务是找出三个不同的字符串,使得它们的编码全相同。换句话说,找一个01 编码串,使得它至少有三种解码方式。
如果有多组解,这个编码串应当尽量短。
【输入】
第一行包含一个整数n,即符号的个数。以下n 行每行为一个长度不超过50的01串(可能为空串),即各符号的编码。
【输出】
仅一行,包含一个整数,即最短编码的长度。如果无解,输出-1。
【样例】
输入 输出
4
1
1010
01
10101
5
2
0
1
-1
7
00011011
000110
11
0001
1011
00
011011
8
【数据规模】
2 <= n <= 30