4148: Lexicographic Order

文件提交:无需freopen 内存限制:128 MB 时间限制:1.000 S
评测方式:普通裁判
金币值:
命题人:
提交:1 解决:0

题目描述

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