दो तारों को देखते हुए, दोनों के बीच अनुवाद तालिका ( प्रतिस्थापन सिफर ) ढूंढें , यदि अनुवाद संभव नहीं है, तो आउटपुट झूठा है। उत्तर को छोटा और दाएं से बाएं बनाया जाना चाहिए। शब्दों के बीच अनुवादित होने वाला पहला वर्ण अनुवाद तालिका में पहला होना चाहिए। इसके अतिरिक्त, कोई भी पत्र जो अनुवादित नहीं है (मूल रूप में उसी स्थान पर), अनुवाद तालिका में नहीं होना चाहिए।
संभवतः सबसे आसानी से उदाहरणों के माध्यम से परिभाषित किया गया है:
वैध मामले
"bat", "sap" => ["bt","sp"]
आदेश को नोटिस करें, का एक आउटपुट ["tb","ps"]
इस चुनौती के लिए मान्य नहीं है।
"sense", "12n12" => ["se","12"]
ध्यान दें कि n
अनुवाद कैसे नहीं किया जाता है क्योंकि यह 1 से 1 संबंध है।
"rabid", "snail" => ["rabd","snal"]
ध्यान दें कि i
अनुवाद कैसे नहीं किया जाता है क्योंकि यह 1 से 1 संबंध है।
"ass", "all" => ["s","l"]
ए शामिल नहीं है, यह एक ही रहता है, पैटर्न मैच के कारण s
मैप कर सकता है l
।
"3121212", "ABLBLBL" => ["312","ABL"]
पैटर्न पूरी तरह से मेल खाता है।
झूठे मामले
"banana", "angular" => false
(समान लंबाई नहीं, असंभव)।
"animal", "snails" => false
(प्रत्येक वर्ण केवल अनुवाद के प्रत्येक पक्ष पर ONCE का उपयोग किया जा सकता है)।
"can","cnn" => false
(n का अनुवाद में निहित रूप से उपयोग किया जाता है, इसलिए, अनुवाद तालिका को n-> a के साथ परिभाषित करना अमान्य होगा)
इस प्रकार, [aimal,sails]
यह एक गलत जवाब है, जिससे यह गलत साबित होता है।
"a1", "22" => false
"कैविट्स" देखें, यह मिथ्या के रूप में सूचीबद्ध है। इस मामले में, यह कारण है a
और 1
दोनों मैप नहीं कर सकते 2
। (प्रत्येक वर्ण केवल अनुवाद के प्रत्येक पक्ष पर ONCE का उपयोग किया जा सकता है)।
यह उत्तर एक अच्छा बेंचमार्क लगता है: /codegolf//a/116807/59376
यदि आपके पास दो असूचीबद्ध शब्द युग्मों की कार्यक्षमता के बारे में प्रश्न हैं, तो इस कार्यान्वयन को स्थगित करें।
I / O नियम
- इनपुट 2 तत्व सरणी या 2 अलग इनपुट के रूप में हो सकता है।
- आउटपुट एक ऐरे या न्यूलाइन / स्पेस सीमांकित के रूप में हो सकता है, जैसा मैंने इसे दिखाया है।
- गलत आउटपुट 0, -1 या गलत हो सकता है। एररिंग / खाली आउटपुट भी ठीक है।
- आपको गारंटी है कि
a
न तो बराबर होगाb
और नa
हीb
खाली होगा। a
औरb
प्रिंट करने योग्य-एएससीआईआई-केवल अक्षरों के अनुक्रम हैं।
चेतावनियां
- अनुवाद बाईं से दाईं ओर होने चाहिए, उदाहरण 1 देखें।
- आपको उन वर्णों को आउटपुट नहीं करना चाहिए जो समान रहते हैं।
- आपका कार्यक्रम केवल दो तार में हो सकता है
a
औरb
। - प्रत्येक वर्ण का अनुवाद के प्रत्येक पक्ष पर केवल ONCE का उपयोग किया जा सकता है। यही वह है जो अनुवाद
snails
कोanimals
असंभव से असंभव बना देता है। - पुनरावर्ती रिप्लेसमेंट नहीं होना चाहिए। पुनरावर्ती प्रतिस्थापन का उदाहरण:
"a1","22"->[a1,12]
जहां एक को पहले 1 से बदल दिया जाता है, फिर परिणामी 1 को 2 के स्थान पर बदल दिया जाता है। यह सही नहीं है, मान लें कि सभी अनुवाद एक-दूसरे से स्वतंत्र होते हैं, जिसका अर्थ यह गलत है। अर्थ: [a1,12] की अनुवाद तालिका के साथ "a1" 12 का मूल्यांकन करता है (22 नहीं)