Bài 16.2. Thư Viện Từ Vựng - [Độ khó: Dễ]
Bài 16.2. Thư Viện Từ Vựng - [Độ khó: Dễ]
Bạn đang xây dựng một hệ thống quản lý từ vựng cho một ứng dụng học ngoại ngữ. Để tối ưu hóa việc tìm kiếm và hiển thị, các từ vựng cần được sắp xếp theo một quy tắc nhất định. Cụ thể, các từ sẽ được sắp xếp theo độ dài của chúng theo thứ tự tăng dần. Nếu hai từ có cùng độ dài, chúng sẽ được sắp xếp theo thứ tự từ điển (alphabetical order) tăng dần.
Hãy viết chương trình thực hiện việc sắp xếp này.
INPUT FORMAT
Dòng đầu tiên chứa một số nguyên dương N
(\(1 \le N \le 10^5\)), là tổng số lượng từ vựng.
N
dòng tiếp theo, mỗi dòng chứa một chuỗi ký tự S
(chỉ bao gồm chữ cái thường tiếng Anh, độ dài \(1 \le |S| \le 100\)), đại diện cho một từ vựng.
OUTPUT FORMAT
In ra N
dòng, mỗi dòng là một từ vựng đã được sắp xếp.
Ví dụ:
Input:
6
apple
banana
cat
dog
elephant
ant
Output:
ant
cat
dog
apple
banana
elephant
Giải thích:
- Các từ ban đầu: "apple", "banana", "cat", "dog", "elephant", "ant".
- Sắp xếp theo độ dài tăng dần:
- Độ dài 3: "cat", "dog", "ant"
- Độ dài 5: "apple"
- Độ dài 6: "banana"
- Độ dài 8: "elephant"
- Xử lý các trường hợp cùng độ dài theo thứ tự từ điển:
- Trong nhóm độ dài 3: "ant" < "cat" < "dog".
- Các nhóm khác chỉ có 1 từ.
- Kết quả cuối cùng: "ant", "cat", "dog", "apple", "banana", "elephant".
Comments