Forum terbesar di web, disebut postcount ++ memutuskan untuk membuat game forum baru. Dalam permainan ini, tujuannya adalah memposting kata, tetapi kata tersebut harus memiliki satu huruf yang ditambahkan, dihapus, atau diubah. Bos Anda ingin Anda menulis sebuah program yang mendapatkan kata, dan kamus UNIX, saat Anda bekerja untuk perusahaan yang memiliki forum yang lebih cerdas dengan lebih banyak permainan forum yang cerdas, dan ingin menghancurkan persaingan (hei, itu bos Anda, jangan diskusikan dengan dia, Anda mendapatkan banyak uang dari pekerjaan Anda).
Program Anda akan mendapatkan dua argumen, kata, dan kamus. Karena pengguna yang mengelola program (ya, pengguna, perusahaan Anda tidak memiliki sumber daya untuk menjalankan bot) tidak sempurna, Anda harus menormalkan kasus di keduanya. Kata-kata dalam kamus mungkin memiliki huruf ASCII (baik huruf besar dan kecil, tetapi harus diabaikan selama perbandingan), tanda hubung, apostrof, dan spasi non-berturut-turut di tengah. Tidak lebih dari 78 karakter. Anda harus menampilkan daftar kata-kata yang akan diterima dalam permainan, untuk menghentikan kesenangan orang-orang yang memikirkan kata-kata secara manual.
Ini adalah contoh dari program yang Anda harapkan, memeriksa kata-kata yang mirip dengan golf
.
> ./similar golf /usr/share/dict/words
Goff
Wolf
gold
golfs
goof
gulf
wolf
Ini /usr/share/dict/words
adalah daftar kata-kata, dengan jeda setelah masing-masing. Anda dapat dengan mudah membacanya dengan fgets (), misalnya.
Perusahaan tempat Anda bekerja tidak memiliki banyak kartu punch (ya, ini 2014, dan mereka masih menggunakan kartu punch), jadi jangan sia-siakan. Tulis program sesingkat mungkin. Oh, dan Anda diminta untuk tidak menggunakan implementasi internal atau jarak jauh Levenshtein atau algoritma serupa lainnya. Sesuatu tentang Tidak Diciptakan Di Sini atau di luar rumah yang tampaknya dimasukkan oleh vendor ke dalam bahasa (Anda tidak memiliki bukti tentang itu, tetapi jangan berdiskusi dengan bos Anda). Jadi, jika Anda ingin jarak, Anda harus menerapkannya sendiri.
Anda bebas menggunakan bahasa apa pun. Bahkan dengan kartu punch, perusahaan memiliki akses ke sebagian besar bahasa pemrograman modern, seperti Cobol Ruby atau Haskell atau apa pun yang Anda inginkan. Mereka bahkan memiliki GolfScript, jika Anda pikir itu bagus untuk manipulasi string (saya tidak tahu, mungkin ...).
Pemenang mendapat 15 poin reputasi dari saya, dan mungkin banyak poin lain dari komunitas. Jawaban bagus lainnya akan mendapat 10 poin, dan poin dari komunitas juga. Anda mendengar bahwa poin tidak ada nilainya, tetapi kemungkinan besar mereka akan mengganti dolar pada tahun 2050. Namun itu tidak dikonfirmasi, tapi tetap saja ide yang bagus untuk mendapatkan poin.