Bài 20.1. Thống Kê Từ Vựng - [Độ khó: Dễ]
Bài 20.1. Thống Kê Từ Vựng - [Độ khó: Dễ]
Trong một lớp học tiếng Anh, giáo viên muốn thống kê tần suất xuất hiện của mỗi từ trong một đoạn văn bản để biết từ nào được sử dụng nhiều nhất. Bạn được yêu cầu viết chương trình giúp giáo viên thực hiện công việc này. Chương trình cần đọc một đoạn văn bản (được nhập từng từ một), đếm số lần xuất hiện của mỗi từ, sau đó in ra danh sách các từ cùng với số lần xuất hiện của chúng theo thứ tự từ điển (alphabetical order).
Mô tả: Đây là một ứng dụng cơ bản của map
để đếm tần suất. std::map
tự động duy trì các khóa theo thứ tự đã sắp xếp, điều này rất tiện lợi cho việc in ra kết quả theo thứ tự từ điển.
INPUT FORMAT
Dòng đầu tiên chứa số nguyên N
(1 <= N
<= 1000), là tổng số từ trong đoạn văn bản.
N
dòng tiếp theo, mỗi dòng chứa một từ (chuỗi ký tự không chứa khoảng trắng). Các từ chỉ bao gồm các chữ cái Latin thường hoặc hoa (a-z, A-Z).
OUTPUT FORMAT
In ra mỗi từ duy nhất cùng với số lần xuất hiện của nó, theo định dạng [tu]: [so_lan_xuat_hien]
. Các từ phải được in theo thứ tự từ điển (alphabetical order, phân biệt chữ hoa chữ thường).
Ví dụ:
Input:
5
Apple
Banana
apple
Orange
Apple
Output:
Apple: 2
Banana: 1
Orange: 1
apple: 1
Giải thích:
Apple
xuất hiện 2 lần.Banana
xuất hiện 1 lần.Orange
xuất hiện 1 lần.apple
(chữ thường) xuất hiện 1 lần.std::map
phân biệt chữ hoa chữ thường, nênApple
vàapple
được coi là hai từ khác nhau và được sắp xếp theo thứ tự từ điển.
Comments