字符串
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
题目描述
给定 个 01 串 和另外 个 01 串 。对于一个 01 串 ,如下定义它的价值:
-
如果存在任何一个 是 的子串,那么 的价值为 0
-
否则令 ,如果 为空集,那么 的价值为 0,否则 的价值记为 中最大值减最小值加一,即
问对于所有的 01 串,其最大价值可能是多少,输出该最大价值。
输入格式
从文件 string.in 中读入数据。
输入第一行一个整数 ,表示数据组数。
对于每组数据:
第一行两个整数 。
接下来 行,每行一个 01 串 。
接下来 行,每行一个 01 串 。
输出格式
输出到文件 string.out 中。
对于每组数据:
输出一行一个整数,表示所有 01 串中的最大价值。
样例 1 输入
3
3 2
100
001
010
1001
000
2 1
100
001
00
2 4
100
001
010
1001
000
11
样例 1 输出
3
0
1
样例解释
-
对于第一组数据,存在 01 串
0100,记作 ,其中 ,价值为 。 -
对于第二组数据,不存在既包含
100或者001,又不包含它们公共子串00的串,所有串的价值都是 0。 -
对于第三组数据,存在 01 串
100,记作 ,其中 ,价值为 。
数据范围及约定
对于 的数据,满足 $1\le T \le 10^5, 1 \le n \le 10^5, 1 \le m \le 10^5$。对于单个输入文件中的多组数据,保证 $\sum n + \sum m \le 10^5, \sum |s_i| + \sum |t_i| \le 10^6$。
| 测试点编号 | 特殊性质 | ||||||
|---|---|---|---|---|---|---|---|
| - | - | ||||||
| - | |||||||
特殊性质 :输入的所有字符串都不包含10这个子串。
样例测试文件
-
sample_string1.in/ans为样例输入输出 -
sample_string2.in/ans满足测试点 的约束条件 -
sample_string3.in/ans满足测试点 的约束条件 -
sample_string4.in/ans满足测试点 的约束条件 -
sample_string5.in/ans满足测试点 的约束条件