Nhóm anagram
Xem dưới dạng PDF
Gửi bài giải
Điểm:
1
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
đầu vào:
stdin
Đầu ra:
stdout
Kiểu bài tập
Cho N từ, mỗi từ gồm các chữ cái thường 'a'..'z'. Hai từ được gọi là anagram nếu chúng có cùng bộ ký tự (cùng số lượng mỗi chữ cái), ví dụ "eat" và "tea" là anagram.
Hãy đếm số nhóm anagram — số lượng nhóm các từ là anagram của nhau.
Sử dụng hash map với key là "chữ ký" của mỗi từ: key có thể là mảng đếm 26 ký tự hoặc xâu đã sắp xếp. Các từ có cùng key thuộc cùng một nhóm.
Đầu vào
- Dòng đầu tiên chứa số nguyên N (1 ≤ N ≤ 10^5, tổng độ dài các từ ≤ 10^6).
- Dòng thứ hai chứa N từ, mỗi từ gồm chữ cái thường, cách nhau bởi khoảng trắng.
Đầu ra
Một số nguyên duy nhất là số nhóm anagram.
Ví dụ
Input:
6
eat tea tan ate nat bat
Output:
3
Giải thích
3 nhóm: {eat, tea, ate}, {tan, nat}, {bat}.
Nhận xét