Java Bài 4.25: thứ tự từ điển


LÀM BÀI

Points: 10 (partial)
Time limit: 1.0s
Memory limit: 125M

Author:
Problem type

Bạn được cho hai chuỗi khác nhau \(S\) và \(T\). Nếu \(S\) nhỏ hơn \(T\) theo thứ tự từ điển, in \(Yes\); ngược lại, in \(No\).

Thế nào là thứ tự từ điển? Nói đơn giản, thứ tự từ điển là thứ tự trong đó các từ được liệt kê trong từ điển. Dưới đây là định nghĩa chính thức, đây là thuật toán để xác định thứ tự từ điển giữa các chuỗi khác nhau \(S\) và \(T\).

Dưới đây, hãy để \(S_i\) biểu thị ký tự thứ \(i\) của \(S\). Ngoài ra, nếu \(S\) nhỏ hơn \(T\) theo thứ tự từ điển, chúng ta sẽ biểu thị điều đó là \(S < T\); nếu \(S\) lớn hơn \(T\) theo thứ tự từ điển, chúng ta sẽ biểu thị điều đó là \(S > T\).

Hãy để \(L\) là độ dài nhỏ hơn của \(S\) và \(T\). Đối với mỗi \(i = 1, 2, ..., L\), chúng ta kiểm tra xem \(S_i\) và \(T_i\) có giống nhau không. Nếu có một \(i\) sao cho \(S_i ≠ T_i\), hãy để \(j\) là \(i\) nhỏ nhất. Sau đó, chúng ta so sánh \(S_j\) và \(T_j\). Nếu \(S_j\) đứng trước \(T_j\) theo thứ tự bảng chữ cái, chúng ta xác định rằng \(S < T\) và dừng lại; nếu \(S_j\) đứng sau \(T_j\) theo thứ tự bảng chữ cái, chúng ta xác định rằng \(S > T\) và dừng lại. Nếu không có \(i\) nào sao cho \(S_i ≠ T_i\), chúng ta so sánh độ dài của \(S\) và \(T\). Nếu \(S\) ngắn hơn \(T\), chúng ta xác định rằng \(S < T\) và dừng lại; nếu \(S\) dài hơn \(T\), chúng ta xác định rằng \(S > T\) và dừng lại. Lưu ý rằng nhiều ngôn ngữ lập trình chính cung cấp so sánh từ điển của các chuỗi dưới dạng các toán tử hoặc hàm trong các thư viện tiêu chuẩn. Để biết thêm chi tiết, hãy xem tài liệu tham khảo của ngôn ngữ của bạn.

Ràng buộc

\(S\) và \(T\) là các chuỗi khác nhau, mỗi chuỗi bao gồm các chữ cái tiếng Anh viết thường và có độ dài từ \(1\) đến \(10\) (bao gồm cả hai).

Định dạng đầu vào

Đầu vào được cung cấp từ Đầu vào Chuẩn với định dạng sau:

\(S\) \(T\)

Định dạng đầu ra

Nếu \(S\) nhỏ hơn \(T\) theo thứ tự từ điển, in \(Yes\); ngược lại, in \(No\).

Ví dụ:

Đầu vào
abc atcoder
Đầu ra
Yes

\(abc\) và \(atcoder\) bắt đầu bằng cùng một ký tự, nhưng ký tự thứ hai của chúng khác nhau. Vì \(b\) đứng trước \(t\) trong thứ tự bảng chữ cái, chúng ta có thể thấy rằng \(abc\) nhỏ hơn \(atcoder\) theo thứ tự từ điển.

Đầu vào
arc agc
Đầu ra
No
Đầu vào
a aa
Đầu ra
Yes


Lời giải bài tập này: Tại đây

Group giải đáp thắc mắc: Lập trình 24h

Fanpage CLB: CLB lập trình Full House- Việt Nam

Youtube: CLB Lập Trình Full House


Comments

There are no comments at the moment.

Zalo