Một pangram là một chuỗi chứa mọi chữ cái a
- z
của bảng chữ cái tiếng Anh, không phân biệt chữ hoa chữ thường. (Không sao nếu pangram chứa nhiều bản sao của một chữ cái hoặc nếu nó chứa các ký tự không phải chữ cái ngoài các chữ cái.)
Viết chương trình hoặc hàm có đầu vào là danh sách các chuỗi và đầu ra một hoặc nhiều chuỗi có các thuộc tính sau:
- Mỗi chuỗi đầu ra phải là một pangram.
- Mỗi chuỗi đầu ra phải được hình thành bằng cách nối một hoặc nhiều chuỗi từ danh sách đầu vào, cách nhau bởi khoảng trắng.
- Mỗi chuỗi đầu ra phải ngắn nhất hoặc được buộc ngắn nhất, trong số tất cả các chuỗi có các thuộc tính này.
Nhiều chương trình sẽ chọn chỉ xuất ra một chuỗi; bạn chỉ muốn xuất nhiều hơn một chuỗi nếu bạn không phải viết thêm mã để giới hạn đầu ra.
Bạn có thể giả sử rằng đầu vào không chứa các ký tự hoặc khoảng trắng không thể in được và không có từ nào trong đó nhiều hơn (26 lần logarit tự nhiên về độ dài của danh sách) các ký tự. (Tuy nhiên, bạn có thể không cho rằng đầu vào không chứa gì ngoài chữ cái hoặc chỉ chữ cái viết thường; dấu chấm câu và chữ in hoa là hoàn toàn có thể.)
Đầu vào và đầu ra có thể được đưa ra trong bất kỳ định dạng hợp lý. Để kiểm tra chương trình của bạn, tôi khuyên bạn nên sử dụng hai trường hợp kiểm tra: từ điển các từ tiếng Anh (hầu hết các máy tính đều có một) và trường hợp sau (trong đó một pangram hoàn hảo (26 chữ cái) là không thể, vì vậy bạn phải tìm một từ chứa các chữ cái trùng lặp):
abcdefghi
defghijkl
ijklmnop
lmnopqrs
opqrstuvw
rstuvwxyz
Bạn nên bao gồm một mẫu của đầu ra chương trình của bạn cùng với trình của bạn. (Điều này có thể khác nhau đối với những người khác nhau do sử dụng các danh sách từ khác nhau.)
Điều kiện chiến thắng
Đây là một thử thách golf-code phức tạp hạn chế . Người chiến thắng là chương trình ngắn nhất (tính bằng byte) chạy trong thời gian đa thức . (Tóm tắt cho những người không biết điều đó có nghĩa là gì: nếu bạn tăng gấp đôi kích thước của danh sách từ, chương trình sẽ trở nên chậm hơn không quá một yếu tố không đổi. Tuy nhiên, yếu tố không đổi trong câu hỏi có thể lớn như bạn như. Ví dụ, nó hợp lệ để nó trở nên chậm hơn bốn lần, hoặc chậm hơn tám lần, nhưng không trở nên nhỏ hơn bởi một yếu tố về độ dài của danh sách từ; yếu tố mà nó trở nên chậm hơn phải bị ràng buộc.)