#ABC217A. [ABC217A] 字典序(Lexicographic Order)

[ABC217A] 字典序(Lexicographic Order)

题目描述

给定两个不同的字符串 S, T S,\ T 。 如果 S S 在字典序上小于 T T ,输出 Yes;否则,输出 No

什么是字典序?

简单来说,字典序就是单词在字典中列出的顺序。更正式的定义如下,这里是一个算法来确定不同字符串 S S T T 之间的字典序:

在下面,我们用 Si S_i 表示 S S 的第 i i 个字符。此外,如果 S S 在字典序中小于 T T ,我们将用 S < T S\ \lt\ T 表示;如果 S S 在字典序中大于T T ,我们将用 S > T S\ \gt\ T 表示。

  1. LLS S T T 长度中的较小值。对于每个 i=1,2,,L i=1,2,\dots,L ,我们检查 和 Si S_i 是否相 Ti T_i 同。
  2. 如果存在 ii 使得 Si  Ti S_i\ \neq\ T_i ,令 jj 为最小的这样的 ii 。然后,我们比较 Sj S_j Tj T_j 。如果 Sj S_j 在字母表中排在 Tj T_j 之前,我们确定 S < T S\ \lt\ T 并退出;如果 Sj S_j 在字母表中排在 Tj T_j 之后,我们确定 S > T S\ \gt\ T 并退出。
  3. 如果不存在 ii 使得,Si  Ti S_i\ \neq\ T_i 我们比较 S S T T 的长度。如果 S S T T 短,我们确定 S < T S\ \lt\ T 并退出;如果 S S T T 长,我们确定 S > T S\ \gt\ T 并退出。

输入格式

输入SSTT

输出格式

如果 S S 在字典序上小于 TT,输出 Yes;否则,输出 No

样例 #1

样例输入 #1

abc atcoder

样例输出 #1

Yes

样例 #2

样例输入 #2

arc agc

样例输出 #2

No

样例 #3

样例输入 #3

a aa

样例输出 #3

Yes

提示

样例说明 1

abcatcoder 的第一个字符相同,但第二个字符不同。

由于 b 在字母表中排在 t 之前,所以我们可以看出 abc 在字典序上小于 atcoder

数据范围

  • STT是不同的字符串,每个字符串由小写英文字母组成,长度在1到10之间(包括1和10)