Tìm từ xuất hiện nhiều nhất bằng std::map
Đếm số lần xuất hiện của từng từ là bước đầu tiên của mọi bài phân tích văn bản. Với một
Tiến độ của tôi ở bài này
Điểm và code bạn nộp được lưu vào tài khoản sau khi chấm bài.
Đang tải điểm của bạn…
Kiến thức và chủ đề
Kiến thức tiên quyết: cpp-basics, strings.
Nội dung đề bài
Mô tả bài toán
Đếm số lần xuất hiện của từng từ là bước đầu tiên của mọi bài phân tích văn bản. Với một bảng tra cứu từ sang số lần đếm được, ta chỉ cần thêm một lượt duyệt để tìm ra từ được dùng nhiều nhất. std::map giữ các khoá theo thứ tự từ điển nên còn xử lý luôn được trường hợp hoà nhau.
Yêu cầu
Cho n từ. Hãy tìm từ xuất hiện nhiều nhất và in ra từ đó. Nếu có nhiều từ cùng xuất hiện nhiều nhất, hãy in từ nhỏ nhất theo thứ tự từ điển.
Quy ước nộp bài
Nộp chương trình solution.cpp đọc dữ liệu từ stdin và in kết quả ra stdout. In đúng một từ trên một dòng duy nhất.
Input
- Dòng thứ nhất: số nguyên n là số từ (1 <= n <= 20).
- Dòng thứ hai: n từ, mỗi từ chỉ gồm chữ cái thường a đến z, dài không quá 10 ký tự,
các từ cách nhau bởi đúng một dấu cách.
Output
- Một dòng duy nhất chứa từ có số lần xuất hiện lớn nhất; nếu hoà thì in từ nhỏ nhất theo
thứ tự từ điển.
Ràng buộc
- 1 <= n <= 20, mỗi từ dài không quá 10 ký tự và chỉ gồm chữ cái thường.
- Các từ phân biệt bằng chữ thường, không có chữ hoa hay dấu câu.
- Thời gian cho mỗi bộ dữ liệu là 1 giây.
Ví dụ 1
Input
6
banana apple banana cherry apple banana
Output
banana
Ví dụ 2
Input
3
zebra apple mango
Output
apple
Giải thích
Với dữ liệu vào:
banana xuất hiện 3 lần, apple 2 lần, cherry 1 lần, nên kết quả là:
Với dữ liệu vào:
cả ba từ đều xuất hiện 1 lần, từ nhỏ nhất theo thứ tự từ điển là apple, nên kết quả là:
Gợi ý và lời giải chỉ mở sau khi bạn bấm Nộp bài. Giáo viên và quản trị viên mở được ngay.
Góp ý & báo lỗi bài tập
Đề bài chưa rõ, test có vấn đề hay bạn có ý tưởng giúp bài tốt hơn? Gửi cho đội ngũ AI Empire nhé — mỗi góp ý đều được đọc.
