Trong lý thuyết mã hóa, các mã không có tiền tố thường được sử dụng như một tập hợp các từ, không có từ nào là tiền tố. Từ α
được cho là tiền tố của từ β
nếu α
được lấy từ β
bằng cách xóa không hoặc nhiều ký tự cuối cùng. Ví dụ: các từ a
, ab
và aba
là tiền tố của từ aba
. Ví dụ: bộ từ aba
, aa
và bac
là mã không có tiền tố, trong khi bộ abac
, aba
, ba
không có mặt vì từ aba
là tiền tố của từ abac
.
Professor Decipher làm việc trong Phòng thí nghiệm Nghiên cứu Thông tin Vô dụng và nghiên cứu phát minh mới của ông về mã gần tiền tố. Một tập hợp các từ được gọi là mã cấp độ gần như không có tiền tố k
nếu tiền tố chung lớn nhất của hai từ bất kỳ trong tập hợp không vượt quá độ dài k
. Ví dụ: bộ abac
, abc
, ba
là mã cấp 2 gần như không có tiền tố và bộ abac
, abab
, ba
không tồn tại vì tiền tố chung dài nhất của abac
và abab
là 3.
Nhiệm vụ tiếp theo mà Giáo sư Decifro đặt ra cho các trợ lý phòng thí nghiệm của mình như sau: đưa ra một tập hợp các từ và một số k
, cần phải chọn từ các từ đã cho các từ được đặt tối đa, gần như là mã mức không có tiền tố k
. Bạn, với tư cách là trợ lý phòng thí nghiệm cấp dưới, được chỉ định viết chương trình tương ứng.