#3468. Lexicographic Order

0

Lexicographic Order

Lexicographic Order

题目描述

你被给出两个不同的字符串 SS 和 TT.
如果 SS 在字典序上小于 TT,输出 YesYes;否则,输出 NoNo。

什么是字典序?

简单地说,字典序是单词在字典中排列的顺序。更正式的定义如下,给出一个算法用于判定不同字符串 SS 和 TT 的字典序大小。

下文中,令 SiS_i 表示 SS 的第 ii 个字符。此外,如果 SS 在字典序上小于 TT,我们记为 S<TS \lt T;如果 SS 在字典序上大于 TT,我们记为 S>TS \gt T。

    令 $L$ 为 $S$ 和 $T$ 长度中较小的一个。对于每个 $i=1,2,\dots,L$,检查 $S_i$ 和 $T_i$ 是否相同。 如果存在某个 $i$ 使得 $S_i \neq T_i$,令 $j$ 为满足该性质的最小的 $i$。然后比较 $S_j$ 和 $T_j$。如果 $S_j$ 在字母表中出现在 $T_j$ 之前,我们判定 $S \lt T$ 并结束;如果 $S_j$ 在 $T_j$ 之后,我们判定 $S \gt T$ 并结束。

    如果不存在使 Si≠TiS_i \neq T_i 的 ii,我们比较 SS 和 TT 的长度。如果 SS 比 TT 短,我们判定 S<TS \lt T 并结束;如果 SS 比 TT 长,我们判定 S>TS \gt T 并结束。

注意许多主流编程语言在标准库中将字符串的字典序比较作为运算符或函数来实现。更多细节请参见你所用语言的参考文档。

输入格式

输入从标准输入给出,格式如下: SS TT

输出格式

如果 SS 在字典序上小于 TT,输出 YesYes;否则,输出 NoNo。

abc atcoder
Yes
arc agc
No
a aa
Yes

提示

SS 和 TT 是不同的字符串,每个字符串由小写英文字母组成,长度在 11 到 1010(含)之间。abcabc 和 atcoderatcoder 以相同的字符开始,但它们的第二个字符不同。由于 bb 在字母表中出现在 tt 之前,我们可以看出 abcabc 在字典序上小于 atcoderatcoder。

标签: AtCoder|abc217A

来源

AtCoder|abc217A