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