Nhóm từ đảo chữ
Xem dạng PDFTrong buổi sinh hoạt của Câu lạc bộ Tiếng Anh, ban tổ chức phát cho các thành viên ~n~ tấm thẻ, trên mỗi thẻ ghi một từ chỉ gồm các chữ cái tiếng Anh in thường. Trò chơi yêu cầu xếp các thẻ thành từng nhóm "đảo chữ".
Hai từ được gọi là đảo chữ của nhau nếu có thể sắp xếp lại thứ tự các chữ cái của từ này để được từ kia; nói cách khác, hai từ có cùng độ dài và mỗi chữ cái xuất hiện trong hai từ với số lần như nhau. Ví dụ night và thing là đảo chữ của nhau, còn aab và abb thì không (số chữ a khác nhau). Hai từ giống hệt nhau cũng là đảo chữ của nhau.
Các thẻ được chia thành các nhóm sao cho hai thẻ nằm cùng một nhóm khi và chỉ khi hai từ ghi trên chúng là đảo chữ của nhau. Dễ thấy cách chia như vậy là duy nhất. Lưu ý rằng mỗi thẻ được tính riêng: nếu có nhiều thẻ ghi cùng một từ thì tất cả các thẻ đó đều được đếm.
Yêu cầu
Hãy cho biết có bao nhiêu nhóm và nhóm đông nhất có bao nhiêu thẻ.
Dữ liệu vào
- Dòng thứ nhất chứa số nguyên dương ~n~;
- ~n~ dòng tiếp theo, mỗi dòng chứa một từ (một xâu ký tự viết liền, không có dấu cách).
Kết quả ra
Ghi ra trên một dòng hai số nguyên cách nhau bởi một dấu cách: số nhóm và số thẻ của nhóm đông nhất.
Ràng buộc
~1 \le n \le 10^5~; mỗi từ có độ dài từ ~1~ đến ~20~ và chỉ gồm các chữ cái từ a đến z.
- Subtask 1 (30% số điểm – test 01–06): ~n \le 100~;
- Subtask 2 (30% số điểm – test 07–12): ~n \le 2000~;
- Subtask 3 (40% số điểm – test 13–20): không có ràng buộc bổ sung.
Ví dụ
Dữ liệu vào mẫu 1
7
night
thing
aab
abb
baa
night
code
Kết quả ra mẫu 1
4 3
Giải thích
Bốn nhóm là: ~\{~night, thing, night~\}~ gồm ~3~ thẻ (từ night xuất hiện trên hai thẻ và được đếm cả hai); ~\{~aab, baa~\}~ gồm ~2~ thẻ; ~\{~abb~\}~ và ~\{~code~\}~ mỗi nhóm ~1~ thẻ. Nhóm đông nhất có ~3~ thẻ.
Bình luận