CF2000C Numeric String Template
题目描述
Kristina 有一个名为 $a$ 的数组,称为模板,数组包含 $n$ 个整数。她还有 $m$ 个仅包含小写字母的字符串。这些字符串从 1 到 $m$ 编号。她想检查这些字符串是否符合模板。
一个字符串 $s$ 如果满足以下所有条件则被认为符合模板:
- 字符串 $s$ 的长度等于数组 $a$ 的元素个数。
- 数组 $a$ 中相同的数字对应到字符串 $s$ 中的相同字符。因此,如果 $a_i = a_j$,则 $s_i = s_j$(对于 $1 \le i,j \le n$)。
- 字符串 $s$ 中的相同字符对应到数组 $a$ 中的相同数字。因此,如果 $s_i = s_j$,则 $a_i = a_j$(对于 $1 \le i,j \le n$)。
换句话说,字符串中的字符和数组中的数字之间必须有一一对应的关系。例如,如果 $a = [3, 5, 2, 1, 3]$,则字符串 `abfda` 符合模板,而字符串 `afbfa` 不符合,因为字符 `f` 对应了数字 $1$ 和 $5$。
输入格式
- 第一行包含一个整数 $t$ ($1 \le t \le 10^4$) — 测试用例的数量。
接下来的描述是单个测试用例的内容。
- 每个测试用例的第一行包含一个整数 $n$ ($1 \le n \le 2 × 10^5$) — 数组 $a$ 的元素个数。
- 第二行包含正好 $n$ 个整数 $a_i$ ($-10^9 \le a_i \le 10^9$) — 数组 $a$ 的元素。
- 第三行包含一个整数 $m$ ($1 \le m \le 2 × 10^5$) — 要检查的字符串的数量。
- 接下来是 $m$ 个字符串,每个字符串包含非空的小写字母。
保证所有测试用例中 $n$ 的总和不超过 $2 × 10^5$,且所有字符串的总长度不超过 $2 × 10^5$。
输出格式
对于每个测试用例,输出 $m$ 行。
- 对于第 $i$ 个字符串,如果它符合模板,则输出 `YES`;
- 否则,输出 `NO`。
说明/提示
The first test case is explained in the problem statement.