Problem D: D密钥破解

"
Time Limit $1$ 秒/Second(s) Memory Limit $128$ 兆字节/Megabyte(s)
提交总数 $12$ 正确数量 $0$
裁判形式 标准裁判/Standard Judge 我的状态 尚未尝试
难度 分类标签
 淮南市是重要的能源基地,目前在积极研发新能源氢能汽车。新款氢能源汽车上需要设计一套安全设备,阻止非经授权的第三方调整工作参数。这套设备的其中一个模块是加解密系统,系统中存储有某个密钥,可以利用这个密钥加密字符串。现组织安全公司对系统安全性进行攻击演练,即判定如果截获了一对明文和密文,是否存在有效算法破解出密钥。
 对于给定的常数x,y和小写字母间的双射f: { 'a',b', ... ,'z'} --> { 'a',b', ... ,'z'}  ,定义对于字符串S的一次递进操作为:先将S循环左移x位,再对S的每个字符Sᵢ应用y次变换S'ᵢ=f(Sᵢ)。
 现在对于所给出的x,y、双射f的值表F和两个长度为n的字符串S,T,请求出最小的正整数k,使得对S做k次递进操作的结果是T。
输入的第1行包含3个整数n,x,y。
接下来1行,包含1个长度为26的字符串F,每个字符依次表示 f('a') ,f('b') ... f('z')
接下来1行,包含1个长度为n的字符串S。
接下来1行,包含1个长度为n的字符串T。
输出包含1行1个正整数,表示所求k的值。特别地,如果对S进行任意多次的变换操作都不能得到T, 输出1行1个-1。
14 1 1
bcdefghijklmnopqrstuvwxyz
heavenburnsred
yhqexuqvuhgkhd
3
对字符串循环左移1位是指将字符串的首个字符移动到末尾,循环左移x位是指重复x次循环左移1位。例如, heavenburnsred循环左移6位将得到burnsredheaven, 循环左移14位将得到heavenburnsred。
样例解释:
对于样例1, 对S进行递进操作将依次得到: fbwfocvsotsfei、cxgpdwtputgfjg、yhqexuqvuhgkhd。