Sebuah pangram adalah string yang berisi setiap surat a
- z
dari bahasa Inggris alfabet, kasus-sensitif. (Tidak apa-apa jika pangram berisi lebih dari satu salinan surat, atau jika berisi karakter bukan huruf di samping surat-surat itu.)
Tulis program atau fungsi yang inputnya adalah daftar string, dan yang menghasilkan satu atau lebih string yang memiliki properti berikut:
- Setiap string keluaran harus berupa pangram.
- Setiap string output harus dibentuk dengan menggabungkan satu atau lebih string dari daftar input, dipisahkan oleh spasi.
- Setiap string keluaran harus yang terpendek, atau diikat untuk yang terpendek, di antara semua string dengan properti ini.
Banyak program akan memilih untuk hanya menghasilkan satu string; Anda hanya ingin menghasilkan lebih dari satu string jika Anda harus menulis kode tambahan untuk membatasi output.
Anda dapat berasumsi bahwa input tidak mengandung karakter atau spasi yang tidak dapat dicetak, dan tidak ada kata di dalamnya yang lebih dari (26 kali logaritma natural dari panjang daftar) karakter. (Namun, Anda tidak boleh berasumsi bahwa input hanya berisi huruf, atau hanya huruf kecil; tanda baca dan huruf besar sepenuhnya mungkin.)
Input dan output dapat diberikan dalam format apa pun yang masuk akal. Untuk menguji program Anda, saya sarankan menggunakan dua test case: kamus kata-kata bahasa Inggris (kebanyakan komputer memiliki satu), dan case berikut (yang pangram sempurna (26 huruf) tidak mungkin, jadi Anda harus menemukan satu berisi surat rangkap):
abcdefghi
defghijkl
ijklmnop
lmnopqrs
opqrstuvw
rstuvwxyz
Anda harus menyertakan sampel hasil program Anda bersama dengan kiriman Anda. (Ini mungkin berbeda untuk orang yang berbeda karena menggunakan daftar kata yang berbeda.)
Kondisi kemenangan
Ini adalah tantangan kode-golf dengan kompleksitas terbatas . Pemenangnya adalah program terpendek (dalam byte) yang berjalan dalam waktu polinomial . (Rangkuman untuk orang-orang yang tidak tahu apa artinya: jika Anda menggandakan ukuran daftar kata, program harus menjadi lebih lambat tidak lebih dari faktor konstan. Namun, faktor konstan yang dipermasalahkan bisa sebesar Anda. seperti. Misalnya, itu berlaku untuk menjadi empat kali lebih lambat, atau delapan kali lebih lambat, tetapi tidak untuk itu menjadi lebih kecil oleh faktor panjangnya daftar kata; faktor melalui mana ia menjadi lebih lambat harus dibatasi.)