辞書順という言葉は聞きなれないかもしれないが、ここでマスターしよう!
問題概要
文字列 が与えられる。
が よりも辞書順で小さいならば "Yes" を出力し、そうでなければ "No" を出力せよ。
解法
辞書順とは、その名の通り「辞書に出てくる順」のことである。たとえば、
- "alpha" は "beta" より小さい
- "beta" は "theta" より小さい
- "a" は "b" より小さい
- "a" は "a" より小さい
- "a" は "aa" より小さい
- "alphabet" は "apple" より小さい
- "ringo" は "zebra" より小さい
という感じだ。そして実は、多くのプログラミング言語で、辞書順の比較は単に if (S < T)
などと、演算子「<
」を用いて判定できる。S < T
は、文字列 S
が文字列 T
よりも辞書順で小さいことを意味する。
今回の問題に戻ると、S < T
のときは "Yes" を出力し、そうでないときは "No" を出力すればよい。
コード
#include <bits/stdc++.h> using namespace std; int main() { string S, T; cin >> S >> T; if (S < T) cout << "Yes" << endl; else cout << "No" << endl; }