AT_ttpc2022_e.Name Value

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

大学 A 和大学 B 决定合并。大学 A 的名字为 AA,大学 B 的名字为 BB。现在我们需要为合并后的新大学起一个名字 CC,具体规定如下:

  • 从 AA 的所有非空子序列中选取一个,记为 aa。
  • 从 BB 的所有非空子序列中选取一个,记为 bb。
  • 新大学名 CC 是将 aa 和 bb 按顺序连接得到的字符串。

现在给定 QQ 个字符串 S1,S2,…,SQS_1, S_2, \dots, S_Q。请你判断每个字符串能否作为 CC 出现。如果可以,请求出所有可能的 ∣len(a)−len(b)∣|\text{len}(a) - \text{len}(b)| 中的最小值(len(x)\text{len}(x) 表示 xx 的长度);如果不可以,输出 −1-1。

什么是子序列?对于字符串 XX,通过去除 00 个及以上字符后,按照原本顺序排列剩下的字符所得的字符串称为 XX 的子序列。例如,ac 和 abc 都是 abc 的子序列,但 ca 不是 abc 的子序列。

输入格式

输入按以下格式从标准输入读入:

AA BB QQ S1S_1 S2S_2 ⋮\vdots SQS_Q

输出格式

输出 QQ 行。对于每个 1≤i≤Q1 \leq i \leq Q,如果 SiS_i 可能作为 CC,则输出 ∣len(a)−len(b)∣|\text{len}(a) - \text{len}(b)| 的最小值;否则输出 −1-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≤20Q \leq 20 的数据集,得分为 100100 分。

样例解释 1

  • 对于 $S_1 = $ The University,可以取 $a = $ Th,$b = $ e University,这样 $C = $ The University,此时 ∣len(a)−len(b)∣=10|\text{len}(a) - \text{len}(b)| = 10。
  • 对于 $S_4 = $ Tokyo Tech,注意 bb 不能是空串。
  • 与常规题目不同,空格也是字符串的一部分,需要注意。

数据范围

  • QQ 是整数。
  • 1≤Q≤1061 \leq Q \leq 10^6。
  • A,B,S1,S2,…,SQA, B, S_1, S_2, \dots, S_Q 都是由小写英文字母、大写英文字母及空格组成的字符串。
  • 1≤len(A),len(B)≤1051 \leq \text{len}(A), \text{len}(B) \leq 10^5。
  • 2≤len(Si)≤1052 \leq \text{len}(S_i) \leq 10^5(1≤i≤Q1 \leq i \leq Q)。
  • (∑i=1Qlen(Si))≤2×106\displaystyle\left(\sum_{i = 1}^Q\text{len}(S_i)\right) \leq 2 \times 10^6。

由 ChatGPT 5 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页