Sửa lỗi
Đề bài
Mô tả
Giáo sư Hùng đã dành nhiều thời gian để nghiên cứu chữ viết của người HPC, ông đã thu thập được danh sách gồm từ, mỗi từ được biểu diễn bằng một xâu kí tự. Tuy nhiên, trong từ đó có một số từ đã không được thu thập đầy đủ. Cụ thể, một từ được biểu diễn bằng một xâu chỉ gồm kí tự chữ cái Latin in thường ('a' đến 'z') và kí tự '*', kí tự chữ cái Latin in thường thể hiện cho những vị trí biết chính xác, còn kí tự '*' thể hiện cho những vị trí không biết chính xác. Qua phân tích, giáo sư nhận thấy, trong danh sách từ này rất có thể có những từ được xuất hiện nhiều lần.
Yêu cầu: Cho xâu, mỗi xâu chỉ gồm kí tự chữ cái Latin in thường ('a' đến 'z') và kí tự '*', hãy tìm cách thay tất cả các kí tự '*' trong các xâu bằng các chữ cái Latin in thường ('a' đến 'z') để nhận được ít xâu khác nhau nhất.
Mỗi kí tự '*' được thay độc lập bằng một chữ cái tùy ý (các kí tự '*' khác nhau, kể cả trong cùng một xâu, có thể được thay bằng các chữ cái khác nhau). Độ dài các xâu không thay đổi. Các xâu giống hệt nhau sau khi thay chỉ được tính là một.
Dữ liệu vào
- Dòng đầu số nguyên .
- dòng sau, mỗi dòng ghi một xâu độ dài không vượt quá .
Dữ liệu ra
Gồm một dòng ghi một số nguyên là số lượng xâu khác nhau ít nhất có thể nhận được.
Ràng buộc
- .
- Mỗi xâu có độ dài từ đến , chỉ gồm các chữ cái Latin in thường và kí tự '*'.
Subtasks
- Subtask 1 ( số điểm): , các xâu chỉ gồm các kí tự '*', 'a', 'b', tổng số kí tự '*' không vượt quá .
- Subtask 2 ( số điểm): không có ràng buộc gì thêm.
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 4 cat *a* h** hat |
2 | Thay "*a*" thành "cat" và "h**" thành "hat", nhận được các xâu cat, cat, hat, hat: có xâu khác nhau. Không thể chỉ còn xâu vì "cat" và "hat" khác nhau. |
| 5 ab* *b* *ba aa* a*a |
2 | Ví dụ bổ sung. Ba xâu đầu thay thành "aba", hai xâu sau thay thành "aaa". Xâu "a*a" hợp được với "ab*" (thành "aba") và với "aa*" (thành "aaa"), nhưng "ab*" và "aa*" không thể giống nhau, nên không thể chỉ còn xâu. |
Bình luận