#57232. 蒜头君的密钥
蒜头君的密钥
暂无测试数据。
随着信息化和数字化社会的发展,人们对信息安全的重要性认识不断提高,网络信息安全越来越受到重视。
其实在网络中相互传递的各种数据,大部分都是经过加密算法处理过的。数据加密的过程:密文 = (明文 + 密钥)经过 加密算法 处理得来的。
蒜头君和花椰妹最近正在学习加密算法,花椰妹刚刚想到一个小写英文字母的加密算法,形式为:$y = (ax + b) \% 26 + 'a'$。
其中:
- $x = c - 'a'$,$c$ 为未加密的小写英文字母(也就是明文);
- $y$ 为加密后的小写英文字母(也就是密文);
- $a,b(1\leq a, b \leq 1000)$ 为正整数(密钥)。
例如:$a=1,b=1$ 时,若明文中一个字母 c = 'b'
,则 x = c - 'a' = 'b' - 'a' = 1
,所以 y = (1 * 1 + 1) % 26 + 'a' = 'c'
。则 c = 'b'
经过加密后得到的密文为 'c'
。
现在花椰妹告诉蒜头君每一个小写字母对应的密文信息,想要让蒜头君求出密钥 $a,b$。
$a,b$ 可能有多种组合答案,答案优先保证 $a$ 最小,然后保证 $b$ 最小。
假设(不保证 $a_i,b_i$ 为合法组合,只是为说明 $a,b$ 的优先级): $a_1 = 1, b_1 = 4$ 和 $a_2 = 2, b_2 = 3$,此时的正确答案为 $a = 1, b = 4$。
输入格式
输入共一行一个长度为 $26$ 的小写英文字符串,第 $i(0 \leq i \leq 25)$ 个字母代表字母 $c = i + 'a'$ 的密文信息,其中 $'a'$ 为小写字母 ‘a’
。
输出格式
输出共一行,两个以空格隔开的正整数 $a,b$。
$a,b$ 可能有多种组合答案,答案优先保证 $a$ 最小,然后保证 $b$ 最小。
数据保证题目一对定有解,且 $1\leq a, b \leq 1000$。
bcdefghijklmnopqrstuvwxyza
1 1