#4188. 字典序(Lexicographic Order)
字典序(Lexicographic Order)
题目描述
给定两个不同的字符串 和 。
如果 在字典序上小于 ,输出 Yes
;否则,输出 No
。
什么是字典序?
简单来说,字典序就是单词在字典中列出的顺序。更正式的定义如下,这里是一个算法来确定不同字符串 和 之间的字典序:
在下面,我们用 表示 的第 个字符。此外,如果 在字典序中小于 ,我们将用 表示;如果 在字典序中大于 ,我们将用 表示。
-
令 为 和 长度中的较小值。对于每个 ,我们检查 和 是否相同。
-
如果存在 使得 ,令 为最小的这样的 。然后,我们比较 和 。如果 在字母表中排在 之前,我们确定 并退出;如果 在字母表中排在 之后,我们确定 并退出。
-
如果不存在 使得 ,我们比较 和 的长度。如果 比 短,我们确定 并退出;如果 比 长,我们确定 并退出。
输入格式
输入和。
输出格式
如果 在字典序上小于 ,输出 Yes
;否则,输出 No
。
样例
abc atcoder
Yes
arc agc
No
a aa
Yes
样例解释
【样例1说明】
abc
和 atcoder
的第一个字符相同,但第二个字符不同。由于 b
在字母表中排在 t
之前,所以我们可以看出 abc
在字典序上小于 atcoder
。
数据范围
和 是不同的字符串,每个字符串由小写英文字母组成,长度在1到10之间(包括1和10)。
来源
- AtCoder ABC217A