AT_kupc2017_c Best Password
题目描述
京都大学的一栋建筑物只有知道密码的人才能通过认证并进入。
密码是由小写英文字母组成的字符串,作为建筑物的用户,你已经知道了这个密码。
这个认证系统会对输入的密码计算其哈希值,并通过该哈希值进行比对。
长度为 $N$ 的字符串 $S$ 的哈希值的计算如下:设 $S_i$ 表示第 $i$ 个字符,则有
$A^1 \times C[S_1] + A^2 \times C[S_2] + \cdots + A^N \times C[S_N]$
其中 $A$ 是一个固定整数,满足 $2 \leq A \leq 10$,并且规定 $C[a]=1$,$C[b]=2$,$\cdots$,$C[z]=26$。
你非常忙碌,希望能够用尽可能短的输入完成认证。
请你求出与原密码哈希值相同的最短字符串。如果有多个满足条件的字符串,请输出字典序最大的一个。
输入格式
输入为一行,格式如下:
> $A$ $S$
输出格式
请输出满足条件的字符串,共一行。
说明/提示
### 数据范围
- $2 \leq A \leq 10$
- $A$ 是整数。
- $1 \leq |S| \leq 1000$
- $S$ 是由小写字母组成的字符串。
### 样例解释1
原字符串的哈希值为 $2^1 \times 11 + 2^2 \times 21 + 2^3 \times 16 + 2^4 \times 3 = 282$。输出字符串的哈希值同样为 $2^1 \times 25 + 2^2 \times 26 + 2^3 \times 16 = 282$。
### 样例解释4
哈希值有可能非常大。
由 ChatGPT 5 翻译