विपर्यय

विपर्यय

मध्यम

परिचय

एक गैराज सेल में आपको बहुत सस्ते दाम पर एक सुंदर पुराना टाइपराइटर मिलता है! उत्साह में भरकर आप घर दौड़ते हैं, कागज़ का एक पन्ना डालते हैं और टाइप करने लगते हैं। लेकिन जब आप आउटपुट देखते हैं, तो आपका उत्साह ठंडा पड़ जाता है: सभी शब्द गड़बड़ निकलते हैं! जैसे, यह "post" की जगह "stop" छापता है और "stale" की जगह "least"। ध्यान से आप फिर कोशिश करते हैं, लेकिन अब यह "spot" और "slate" छापता है।

कुछ प्रयोग करने के बाद आप पाते हैं कि हर अक्षर छपने से पहले एक अनियमित देरी होती है, जिससे क्रम बिगड़ जाता है। अब आप समझ गए कि उन्होंने इसे इतने कम पैसों में क्यों बेचा!

आपको एहसास होता है कि इसी खूबी से आप एनाग्राम बना सकते हैं, यानी ऐसे शब्द जो किसी दूसरे शब्द के अक्षरों को नए क्रम में रखकर बनते हैं। अपनी खोज से खुश होकर आप दिन का बाकी समय सैकड़ों एनाग्राम बनाने में बिताते हैं।

निर्देश

आपको एक लक्ष्य शब्द और एक या अधिक संभावित शब्द दिए जाते हैं। आपका काम इन संभावित शब्दों में से वे शब्द ढूँढना है जो लक्ष्य के एनाग्राम हैं।

एनाग्राम का मतलब है अक्षरों को दोबारा लगाकर एक नया शब्द बनाना: जैसे "owns" शब्द "snow" का एनाग्राम है। कोई शब्द अपना ही एनाग्राम नहीं होता: जैसे "stop" शब्द "stop" का एनाग्राम नहीं है।

लक्ष्य शब्द और संभावित शब्द एक या अधिक ASCII अक्षरों से बने होते हैं (A-Z और a-z)। छोटे और बड़े अक्षर एक ही माने जाते हैं: जैसे "PoTS" शब्द "sTOp" का एनाग्राम है, लेकिन "StoP" शब्द "sTOp" का एनाग्राम नहीं है। आपको जो शब्द ढूँढने हैं, वे संभावित शब्दों में से ही लेने हैं, और उनमें छोटे-बड़े अक्षरों का वही रूप बना रहना चाहिए।

अगर लक्ष्य शब्द "stone" है और संभावित शब्द "stone", "tones", "banana", "tons", "notes" और "Seton" हैं, तो आपको जो एनाग्राम शब्द ढूँढने हैं वे हैं "tones", "notes" और "Seton".

इनपुट/आउटपुट फॉर्मेट

शब्दों का हर समूह एक ऐसी स्ट्रिंग के रूप में दिया जाता है जिसका अंत null से होता है, और हर शब्द के अंत में एक न्यूलाइन अक्षर आता है।

आपको एनाग्राम उसी क्रम में लौटाने हैं जिस क्रम में वे उम्मीदवार शब्दों में दिए गए हैं।

एक उदाहरण होगा "tones\nnotes\nSeton\n"

रजिस्टर

रजिस्टर उपयोग टाइप विवरण
$a0 इनपुट एड्रेस null पर समाप्त होने वाली लक्ष्य स्ट्रिंग, बिना न्यूलाइन
$a1 इनपुट एड्रेस हर शब्द के बाद न्यूलाइन वाली, null पर समाप्त होने वाली उम्मीदवार स्ट्रिंग
$a2 इनपुट/आउटपुट एड्रेस हर शब्द के बाद न्यूलाइन वाली, null पर समाप्त होने वाली आउटपुट स्ट्रिंग
$t0-9 अस्थायी कोई भी अस्थायी भंडारण के लिए
GitHub के ज़रिए संपादित करें यह लिंक एक नई विंडो या टैब में खुलता है
MIPS Assembly Exercism

विपर्यय शुरू करने के लिए तैयार हैं?

Exercism पर साइन अप कीजिए और MIPS Assembly को 70 अभ्यास तथा असली इंसानों से मिलने वाली मेंटरिंग के साथ सीखिए और उसमें महारत हासिल कीजिए, वह भी बिल्कुल मुफ्त।