#4884. Error Correction

0
    ID: 4884 传统题 2000ms 1024MiB 尝试: 0 已通过: 0 难度: 2 上传者: 标签>AtCoderabc324CGESP 3级字符串枚举(单层循环)

Error Correction

Error Correction

题目描述

Takahashi 发送了一个由小写英文字母构成的字符串 TT 给 Aoki。结果,Aoki 收到的字符串为 T′T',它也由小写英文字母构成。 T′T' 可能与 TT 不同。具体来说,已知恰好满足以下四个条件中的一个。

T′T' 等于 TT。 T′T' 是通过在 TT 的某个位置(可能是开头或结尾)插入一个小写英文字母得到的字符串。 T′T' 是通过从 TT 中删除一个字符得到的字符串。 T′T' 是通过将 TT 中的某个字符改为另一个小写英文字母得到的字符串。

给出 Aoki 收到的字符串 T′T' 和 NN 个由小写英文字母构成的字符串 S1,S2,…,SNS_1, S_2, \ldots, S_N。找出在 S1,S2,…,SNS_1, S_2, \ldots, S_N 中所有可能等于 Takahashi 发送的字符串 TT 的字符串。

输入格式

输入由标准输入给出,格式如下: NN T′T' S1S_1 S2S_2 ⋮\vdots SNS_N

输出格式

设 (i1,i2,…,iK)(i_1, i_2, \ldots, i_K) 为在 S1,S2,…,SNS_1, S_2, \ldots, S_N 中所有可能等于 TT 的字符串的下标序列,按升序排列。 以以下格式输出该序列的长度 KK 和该序列: KK i1i_1 i2i_2 …\ldots iKi_K

5 ababc
ababc
babc
abacbc
abdbc
abbac
4
1 2 3 4
1 aoki
takahashi
0
9 atcoder
atoder
atcode
athqcoder
atcoder
tacoder
jttcoder
atoder
atceoder
atcoer
6
1 2 4 7 8 9

提示

NN 是一个整数。 1≤N≤5×1051 \leq N \leq 5 \times 10^5 SiS_i 和 T′T' 的长度在 11 到 5×1055 \times 10^5(含)之间,且由小写英文字母构成。 S1,S2,…,SNS_1, S_2, \ldots, S_N 的总长度最多为 5×1055 \times 10^5。在 S1,S2,…,S5S_1, S_2, \ldots, S_5 中,可能等于 TT 的字符串是 S1,S2,S3,S4S_1, S_2, S_3, S_4,解释如下。

S1S_1 可能等于 TT,因为 T′=T' = ababcababc 等于 S1=S_1 = ababcababc。 S2S_2 可能等于 TT,因为 T′=T' = ababcababc 是通过在 S2=S_2 = babcbabc 的开头插入字母 aa 得到的。 S3S_3 可能等于 TT,因为 T′=T' = ababcababc 是通过从 S3=S_3 = abacbcabacbc 中删除第 4 个字符 cc 得到的。 S4S_4 可能等于 TT,因为 T′=T' = ababcababc 是通过将 S4=S_4 = abdbcabdbc 的第 3 个字符 dd 改为 bb 得到的。 S5S_5 不可能等于 TT,因为 若取 S5=S_5 = abbacabbac 作为 TT,则 T′=T' = ababcababc 不满足题目陈述中的任何一个条件。

标签: AtCoder|abc324C

来源

AtCoder|abc324C