AT_ttpc2022_e.Name Value
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
大学 A 和大学 B 决定合并。大学 A 的名字为 A,大学 B 的名字为 B。现在我们需要为合并后的新大学起一个名字 C,具体规定如下:
- 从 A 的所有非空子序列中选取一个,记为 a。
- 从 B 的所有非空子序列中选取一个,记为 b。
- 新大学名 C 是将 a 和 b 按顺序连接得到的字符串。
现在给定 Q 个字符串 S1,S2,…,SQ。请你判断每个字符串能否作为 C 出现。如果可以,请求出所有可能的 ∣len(a)−len(b)∣ 中的最小值(len(x) 表示 x 的长度);如果不可以,输出 −1。
什么是子序列?对于字符串 X,通过去除 0 个及以上字符后,按照原本顺序排列剩下的字符所得的字符串称为 X 的子序列。例如,ac 和 abc 都是 abc 的子序列,但 ca 不是 abc 的子序列。
输入格式
输入按以下格式从标准输入读入:
A B Q S1 S2 ⋮ SQ
输出格式
输出 Q 行。对于每个 1≤i≤Q,如果 Si 可能作为 C,则输出 ∣len(a)−len(b)∣ 的最小值;否则输出 −1。
输入输出样例
输入#1
Tokyo Institute of Technology Tokyo Medical and Dental University 10 The University Tokyo University kyoto University Tokyo Tech TMDU Kyoto University The University of Tokyo Tokyo Technology and Medical and Dental University Tehnoooorsty Tokyo
输出#1
10 4 4 -1 2 -1 -1 -1 3 1
说明/提示
部分分
- 对于 Q≤20 的数据集,得分为 100 分。
样例解释 1
- 对于 $S_1 = $
The University,可以取 $a = $Th,$b = $e University,这样 $C = $The University,此时 ∣len(a)−len(b)∣=10。 - 对于 $S_4 = $
Tokyo Tech,注意 b 不能是空串。 - 与常规题目不同,空格也是字符串的一部分,需要注意。
数据范围
- Q 是整数。
- 1≤Q≤106。
- A,B,S1,S2,…,SQ 都是由小写英文字母、大写英文字母及空格组成的字符串。
- 1≤len(A),len(B)≤105。
- 2≤len(Si)≤105(1≤i≤Q)。
- (i=1∑Qlen(Si))≤2×106。
由 ChatGPT 5 翻译
输入解题思路,AI测评打分。不知道怎么写?