P6681 [CCO 2019] Bad Codes
题目描述
有 $N$ 个长度至多为 $M$ 的字符串。
字符串之间可以随意拼接。
如果可以用不同的方法拼接出两个相同的字符串,则请输出可能存在的这种字符串的最小长度,否则,请输出 `-1`。
输入格式
第一行为两个整数 $N,M$。
接下来 $N$ 行,一行一个长度至多为 $M$ 的字符串。
输出格式
如果可以用不同的方法拼接出两个相同的字符串,则请输出可能存在的这种字符串的最小长度,否则,请输出 `-1`。
说明/提示
#### 样例 1 解释
拼接第二个字符串与第三个字符串可以得到第一个字符串。
#### 数据范围及限制
对于 $100\%$ 的数据,保证 $1\le N,M\le 50$,读入的字符串里无空串,读入的字符 $\in \{0,1\}$。
| 子任务 | $N=$ | $M\le$ | 特殊限制 | 分数
| :-: | :-: | :-: | :-: |:-:
| 1 | $4$ | $6$ | 无 | $16$
| 2 | 无特殊限制 | 无特殊限制 | 每一个字符串包含一个 `1`,如 `00100`。| $28$
| 3 | 无特殊限制 | 无特殊限制 | 无 | $56$
#### 说明
本题译自 [Canadian Computing Olympiad 2019](https://cemc.math.uwaterloo.ca/contests/computing/2019/index.html) [Day 2](https://cemc.math.uwaterloo.ca/contests/computing/2019/stage%202/day2.pdf) T3 Bad Codes。