AT_abc007_2.[ABC007B] 辞書式順序
普及-
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给定一个字符串 A。请输出任意一个在字典序上小于字符串 A 的字符串。字符串仅由小写字母(a-z)组成,且长度必须在 1 到 100 之间。如果不存在这样的字符串,则输出 "-1"。
对于两个字符串 S=S1S2...Sn 和 T=T1T2...Tm,当且仅当满足以下任一条件时,S 在字典序上小于 T:
- 存在整数 i (1≤i≤min(n,m)),使得对于所有 1≤j≤i−1 都有 Sj=Tj,且 Si<Ti。
- 对于所有整数 i (1≤i≤min(n,m)) 都有 Si=Ti,且 ∣S∣<∣T∣。其中 ∣X∣ 表示字符串 X 的长度。
换句话说:
- 从头开始比较两个字符串相同位置的字符,第一次出现不一致时,字符的字母顺序决定了两个字符串的大小。例如,比较 "abcd" 和 "ax" 时,在第 2 个字符处 'b' < 'x',所以 "abcd" < "ax"。
- 如果比较过程中有一个字符串先结束,则较短的字符串更小。例如 "ab" < "abc"。
输入格式
输入通过标准输入给出。
A
- 第 1 行给出字符串 A,满足 1≤∣A∣≤11。∣A∣ 表示字符串 A 的长度。A 仅由小写字母(a-z)组成。
输出格式
请输出一个在字典序上小于字符串 A 的字符串,且该字符串仅由小写字母(a-z)组成,长度在 1 到 100 之间。若有多个答案,输出任意一个即可。如果不存在这样的字符串,则输出 "-1"。输出末尾需换行。
输入输出样例
输入#1
xyz
输出#1
xy
输入#2
c
输出#2
b
输入#3
a
输出#3
-1
输入#4
aaaaa
输出#4
aaaa
说明/提示
样例解释 1
当然,除了 "xy" 之外,输出 "abcd" 等也会被判为正确答案。
样例解释 2
"a" 或 "b" 都是正确答案。
样例解释 3
不存在比 "a" 更小的字符串。注意,输出的字符串必须长度不少于 1,因此空字符串 "" 不符合要求。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?