AT_digitalarts_2.Password

普及+/提高

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

对安全性感兴趣的高桥君是一位希望进入 Digital Arts 株式会社工作的青年。
因此,他决定重新审视自己运营的服务 AtCoder 的安全性。

目前 AtCoder 的系统中,密码仅允许由 11 个以上、2020 个以下的小写英文字母组成。
对于字符串 ss,有如下计算哈希值(hash(s)hash(s))的公式:只要输入的字符串与密码的哈希值一致,就认为输入的字符串是正确的密码。

hash(s)=Num(c1)+Num(c2)+⋯+Num(cN)hash(s) = Num(c_1) + Num(c_2) + \cdots + Num(c_N)

其中 cic_i 表示字符串 ss 的第 ii 个字符。

上述公式中的 Num()Num() 是将小写英文字母转换为数字的函数,Num(Num(a)=1)=1,Num(Num(b)=2)=2,……,Num(Num(z)=26)=26,即 a 到 z 分别对应 11 到 2626。

高桥君注意到,这个系统下,即使输入的字符串不是密码本身,也很容易出现哈希值相同的情况。
例如,字符串 abc 的哈希值为 1+2+3=61+2+3=6,而字符串 bbb 的哈希值也是 2+2+2=62+2+2=6,f 的哈希值也是 66。

高桥君想知道,对于当前使用的密码,还有哪些字符串会被系统误判为正确的密码。
请输出一个满足条件且不是正确密码的字符串。
如果有多个满足条件的字符串,输出任意一个即可。
如果不存在满足条件的字符串,则输出 NO。
需要注意的是,AtCoder 系统允许输入的密码必须是 11 个以上、2020 个以下的小写英文字母,因此输出的字符串也必须满足该条件。

输入格式如下,从标准输入读取。

输入格式

输入一行,表示正确密码的字符串,长度为 NN,1≤N≤201 \leq N \leq 20。
字符串仅包含小写英文字母(a-z)。

输出格式

输出一个与正确密码哈希值相同、长度为 11 到 2020 的小写英文字母字符串,且不是正确密码本身的字符串。
如果不存在这样的字符串,则输出 NO。
输出仅一行,末尾需换行。

说明/提示

  • 例如,输入 abc 时,哈希值为 66,可以输出 bbb、f、aaaaaa、cc 等任意一个。
  • 输入 zzzzzzzzzzzzzzzzzzzz 时,只有原密码本身满足条件,因此输出 NO。
  • 输入 abcdef 时,哈希值为 2121,可以输出 fedcba 等。
  • 输入 k 时,可以输出 bbbbba。
  • 输入 aa 时,可以输出 b。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页