CF2000C.Numeric String Template

入门

通过率:0%

AC君温馨提醒

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

题目描述

Kristina 有一个名为 aa 的数组,称为模板,数组包含 nn 个整数。她还有 mm 个仅包含小写字母的字符串。这些字符串从 1 到 mm 编号。她想检查这些字符串是否符合模板。

一个字符串 ss 如果满足以下所有条件则被认为符合模板:

  • 字符串 ss 的长度等于数组 aa 的元素个数。
  • 数组 aa 中相同的数字对应到字符串 ss 中的相同字符。因此,如果 ai=aja_i = a_j,则 si=sjs_i = s_j(对于 1≤i,j≤n1 \le i,j \le n)。
  • 字符串 ss 中的相同字符对应到数组 aa 中的相同数字。因此,如果 si=sjs_i = s_j,则 ai=aja_i = a_j(对于 1≤i,j≤n1 \le i,j \le n)。

换句话说,字符串中的字符和数组中的数字之间必须有一一对应的关系。例如,如果 a=[3,5,2,1,3]a = [3, 5, 2, 1, 3],则字符串 abfda 符合模板,而字符串 afbfa 不符合,因为字符 f 对应了数字 11 和 55。

输入格式

  • 第一行包含一个整数 tt (1≤t≤1041 \le t \le 10^4) — 测试用例的数量。

接下来的描述是单个测试用例的内容。

  • 每个测试用例的第一行包含一个整数 nn (1≤n≤2×1051 \le n \le 2 × 10^5) — 数组 aa 的元素个数。

  • 第二行包含正好 nn 个整数 aia_i (−109≤ai≤109-10^9 \le a_i \le 10^9) — 数组 aa 的元素。

  • 第三行包含一个整数 mm (1≤m≤2×1051 \le m \le 2 × 10^5) — 要检查的字符串的数量。

  • 接下来是 mm 个字符串,每个字符串包含非空的小写字母。

保证所有测试用例中 nn 的总和不超过 2×1052 × 10^5,且所有字符串的总长度不超过 2×1052 × 10^5。

输出格式

对于每个测试用例,输出 mm 行。

  • 对于第 ii 个字符串,如果它符合模板,则输出 YES;
  • 否则,输出 NO。

输入输出样例

  • 输入#1

    3
    5
    3 5 2 1 3
    2
    abfda
    afbfa
    2
    1 2
    3
    ab
    abc
    aa
    4
    5 -3 5 -3
    4
    aaaa
    bcbc
    aba
    cbcb

    输出#1

    YES
    NO
    YES
    NO
    NO
    NO
    YES
    NO
    YES

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

首页