#P12946. [GCJ Farewell Round #1] Colliding Encoding

    ID: 12773 远端评测题 20000ms 2048MiB 尝试: 0 已通过: 0 难度: 3 上传者: 标签>字符串2023哈希 hashingGoogle Code Jam

[GCJ Farewell Round #1] Colliding Encoding

Description

Alan 今天在学校上了第一节密码学课程。他决定运用所学知识,设计自己的加密方式。他计划将字母 AZ 分别映射到十进制数字 0099。然后,他会将每个单词中的字母替换为对应的数字,从而将单词编码为一个由数字组成的字符串。

由于过于兴奋,Alan 没有注意到英文字母共有 2626 个,而十进制数字只有 1010 个。因此,可能会出现碰撞,即不同的单词被编码为相同的字符串。

给定 Alan 想要编码的 NN 个单词及其使用的映射规则,请判断列表中是否存在至少一对单词会发生碰撞。

Input Format

输入的第一行包含测试用例的数量 TT。随后是 TT 个测试用例。

每个测试用例的第一行包含 2626 个十进制数字(0099 的整数)DAD_A, DBD_B, …, DZD_Z,表示 Alan 使用的映射规则。字母 α\alpha 被映射为数字 DαD_\alpha

每个测试用例的第二行包含一个整数 NN,表示 Alan 需要编码的单词数量。

接下来的 NN 行中,第 ii 行包含一个字符串 SiS_i,表示 Alan 要编码的第 ii 个单词。

Output Format

对于每个测试用例,输出一行 Case #x: y,其中 xx 是测试用例编号(从 11 开始),yyYES(如果列表中至少存在一对不同单词的编码相同)或 NO(否则)。

2
0 1 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
4
ABC
BC
BCD
CDE
0 1 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
3
CDE
DEF
EFG
Case #1: NO
Case #2: YES

Hint

样例解释

在样例 #1 中,A 映射为 00B11C22D33E33。此时,ABC 编码为 012012BC1212BCD123123CDE233233。由于所有编码均不同,因此没有碰撞。

在样例 #2 中,C 映射为 22D33E33F33G33。此时,CDE 编码为 233233DEFEFG 均为 333333。由于 DEFEFG 的编码相同,因此存在碰撞。

数据范围

  • 1T1001 \leq \mathbf{T} \leq 100
  • 对于所有 α\alpha0Dα90 \leq \mathbf{D}_{\alpha} \leq 9
  • 对于所有 ii1Si1 \leq \mathbf{S}_{i} 的长度 10\leq 10
  • 对于所有 iiSi\mathbf{S}_{i} 的每个字符均为大写字母 AZ
  • 对于所有 iji \neq jSiSj\mathbf{S}_{i} \neq \mathbf{S}_{j}

测试集 1(4 分,可见判定)

  • 1N1001 \leq \mathbf{N} \leq 100

测试集 2(10 分,可见判定)

  • 1N6×1041 \leq \mathbf{N} \leq 6 \times 10^{4}

翻译由 DeepSeek V3 完成