वेब पर सबसे बड़ा मंच, जिसे पोस्टकाउंट ++ कहा जाता है, ने एक नया फोरम गेम बनाने का फैसला किया। इस गेम में, शब्द को पोस्ट करना लक्ष्य है, लेकिन शब्द में एक अक्षर को जोड़ना, हटाना या बदलना होता है। आपका बॉस चाहता था कि आप एक प्रोग्राम लिखें, जिसे शब्द मिले, और UNIX डिक्शनरी, जैसा कि आप कंपनी के लिए काम करते हैं, जिसके पास अधिक बुद्धिमान मंच गेम के साथ अधिक बुद्धिमान मंच है, और प्रतियोगिता को नष्ट करना चाहता है (हे, यह आपका बॉस है, नहीं उसके साथ चर्चा करें, आपको अपनी नौकरी से बहुत सारी नकदी मिलती है)।
आपके कार्यक्रम को दो तर्क, शब्द और शब्दकोश मिलेंगे। क्योंकि प्रोग्राम को प्रबंधित करने वाला उपयोगकर्ता (हां, एक उपयोगकर्ता, आपकी कंपनी के पास बॉट चलाने के लिए संसाधन नहीं हैं) सही नहीं है, आपको दोनों में मामले को सामान्य करना चाहिए। शब्दकोश में शब्दों में ASCII अक्षर (ऊपरी-ऊपरी और निचला-मामला दोनों हो सकते हैं, लेकिन तुलना के दौरान इसे अनदेखा किया जाना चाहिए), डैश, एपोस्ट्रोफ़ और बीच में गैर-निरंतर स्थान। वे 78 वर्णों से अधिक लंबे नहीं होंगे। आपको उन शब्दों की सूची को आउटपुट करना होगा जो गेम में स्वीकार किए जाएंगे, उन लोगों के मज़े को तोड़ने के लिए जो शब्दों को मैन्युअल रूप से समझते हैं।
यह आपके अपेक्षित कार्यक्रम का एक उदाहरण है, समान शब्दों के लिए जाँच करना golf
।
> ./similar golf /usr/share/dict/words
Goff
Wolf
gold
golfs
goof
gulf
wolf
/usr/share/dict/words
प्रत्येक के बाद लाइन ब्रेक के साथ शब्दों की एक सूची है। आप आसानी से उदाहरण के लिए () के साथ पढ़ सकते हैं।
जिस कंपनी में आप काम करते हैं, उसके पास ज्यादा पंच कार्ड नहीं हैं (हाँ, यह 2014 है, और वे अभी भी पंच कार्ड का उपयोग करते हैं), इसलिए उन्हें बर्बाद न करें। जितना हो सके कम प्रोग्राम लिखें। ओह, और आपको लेवेंसहाइट दूरी या किसी भी समान एल्गोरिथ्म के अंतर्निहित या बाहरी कार्यान्वयन का उपयोग नहीं करने के लिए कहा गया था। यहाँ कुछ नहीं आविष्कार किया गया है या बैकडोर के बारे में कुछ है जो स्पष्ट रूप से विक्रेता को भाषा में डाला गया है (आपके पास उन का प्रमाण नहीं है, लेकिन अपने बॉस के साथ चर्चा न करें)। इसलिए यदि आप दूरी चाहते हैं, तो आपको इसे स्वयं लागू करना होगा।
आप किसी भी भाषा का उपयोग करने के लिए स्वतंत्र हैं। पंच कार्ड के साथ भी, कंपनी के पास अधिकांश आधुनिक प्रोग्रामिंग भाषाओं की पहुंच है, जैसे कि कोबोल रूबी या हास्केल या जो भी आप चाहते हैं। यहां तक कि उनके पास गोल्फस्क्रिप्ट भी है, अगर आपको लगता है कि यह स्ट्रिंग हेरफेर के लिए अच्छा है (मुझे नहीं पता, शायद ...)।
विजेता को मुझसे 15 प्रतिष्ठा अंक मिलते हैं, और शायद समुदाय से बहुत सारे अन्य बिंदु। अन्य अच्छे उत्तरों में 10 अंक और समुदाय से भी अंक मिलेंगे। आपने सुना है कि अंक बेकार हैं, लेकिन सबसे अधिक संभावना है कि वे 2050 में डोलर्स की जगह लेंगे। हालांकि इसकी पुष्टि नहीं की गई थी, लेकिन वैसे भी अंक प्राप्त करना अच्छा है।