A. 字符串拆分

    传统题 1000ms 256MiB

字符串拆分

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

大样例下载

题目描述

给出一个字符串集合 T。

对于一个字符串,你可以任意把它划分成若干个子段。如果每个子段都是 T 的元素,则称该字符串是可拆分的。

例如,T={"A", "BA", "C"},字符串 "ABA" 是可拆分的,而字符串 "AB" 就不是可拆分的。

现在给你一个字符串 S,请你找到 S 的一个前缀,使得该前缀是可拆分的,并且该前缀的长度尽可能大。

求:你能找到的最长的可拆分的前缀?你只需要输出最长的可拆分的前缀的长度。如果找不到一个符合条件的前缀,则输出 0

输入格式

首先是集合 T 中的元素,即若干个字符串,字符串之间以空格或换行符隔开,当遇到一行仅包含一个 . 时表示集合 T 中的元素输入完毕。数据保证集合元素不会重复。

接下来是字符串 S,全部由大写字母构成。字符串可能很长,可能会分成若干行。

输出格式

一个整数,表示答案。

样例1输入

A BA C
.
AB

样例1输出

1

样例2输入

A BA C
.
B

样例2输出

0

样例3输入

A BA
C
.
AB
ABC

样例3输出

3

数据范围

100%100\% 的数据,1size(T)2001 ≤ size(T) ≤ 2001Ti101 ≤ |T_i| ≤ 101S2×1051 ≤ |S| ≤ 2×10^5

2026-04-03

未参加
状态
已结束
规则
OI
题目
4
开始于
2026-4-3 7:20
结束于
2026-4-3 12:00
持续时间
4.7 小时
主持人
参赛人数
6