Bài 20.1. Thống Kê Từ Vựng - [Độ khó: Dễ]


LÀM BÀI

Points: 10 (partial)
Time limit: 2.0s
Memory limit: 64M

Author:
Problem type

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ên Appleapple được coi là hai từ khác nhau và được sắp xếp theo thứ tự từ điển.


Comments

There are no comments at the moment.

Zalo