प्रमुख प्रणाली एक है स्मरक शब्दों में संख्या परिवर्तित ताकि वे अधिक आसानी से याद किया जा सकता है के लिए उपकरण।
यह इस बात पर आधारित है कि शब्द किस तरह से ध्वनि करते हैं, लेकिन चुनौती के लिए चीजों को सरल रखने के लिए हम केवल इस बात से चिंतित होंगे कि शब्दों को कैसे वर्तनी दिया जाए। इसका मतलब है कि कुछ गलत रूपांतरण होंगे, लेकिन यह ठीक है।
हमारी सरलीकृत प्रमुख प्रणाली का उपयोग करके किसी संख्या को शब्द में बदलना:
- प्रत्येक के
0
साथ बदलेंs
याz
। (कुछ हो सकते हैंs
और कुछ हो सकते हैंz
। वही नीचे जाता है।)- प्रत्येक बदलें
1
साथt
याd
याth
।- प्रत्येक के
2
साथ बदलेंn
।- प्रत्येक के
3
साथ बदलेंm
।- प्रत्येक के
4
साथ बदलेंr
।- प्रत्येक के
5
साथ बदलेंl
।- प्रत्येक बदलें
6
साथj
याsh
याch
।- प्रत्येक बदलें
7
साथk
याc
याg
याq
।- प्रत्येक के
8
साथ बदलेंf
याv
।- प्रत्येक के
9
साथ बदलेंp
याb
।- यदि संभव हो तो
aehiouwxy
एक वास्तविक अंग्रेजी शब्द बनाने के लिए किसी भी मात्रा में कहीं भी पत्र जोड़ें । एकमात्र अपवाद यह है कि एक के बाद सम्मिलित नहीं किया जा सकता है या ।
h
s
c
संख्या वास्तव में अंकों की कोई स्ट्रिंग हो सकती है 0-9 (कोई दशमलव या अल्पविराम या संकेत नहीं)।
शब्द में केवल निचले अक्षर az हो सकते हैं।
उदाहरण
संख्या 32
को इस रूप में परिवर्तित किया जाना चाहिए ?m?n?
, जहां ?
अक्षरों से बने किसी भी परिमित स्ट्रिंग aehiouwxy
( यदि आप चाहें तो मुक्त मोनोइड से एक स्ट्रिंग ) का प्रतिनिधित्व करते हैं। ऐसे कई तरीके है कि यह एक वास्तविक अंग्रेजी शब्द में बनाया जा सकता है: mane
, moon
, yeoman
, आदि
संख्या 05
को ?s?l?
या के रूप में परिवर्तित किया जा सकता है ?z?l?
। कुछ संभावनाएं हैं easily
, hassle
और hazel
। शब्द shawl
की अनुमति नहीं है क्योंकि h
बाद में नहीं रखा जा सकता है s
; इसे गलत तरीके से पढ़ा जाएगा 65
।
चुनौती
एक प्रोग्राम या फ़ंक्शन लिखिए जो अंकों की एक स्ट्रिंग में 0-9 लेता है और उन सभी शब्दों को ढूंढता है जिन्हें सरल सरलीकृत सिस्टम मेनेमोनिक का उपयोग करके परिवर्तित किया जा सकता है।
आपके कार्यक्रम में एक शब्द सूची पाठ फ़ाइल तक पहुंच है जो परिभाषित करती है कि सभी "वास्तविक" अंग्रेजी शब्द क्या हैं। इस फ़ाइल की प्रत्येक पंक्ति पर एक लोअरकेस शब्द है, और आप वैकल्पिक रूप से मान सकते हैं कि इसमें एक अनुगामी न्यूलाइन है। यहां उन वास्तविक शब्दों की एक सूची दी गई है, जिन्हें आप परीक्षण के लिए उपयोग कर सकते हैं। आप मान सकते हैं कि यह शब्द सूची फ़ाइल f
(या कुछ लंबा) कहा जाता है और किसी भी सुविधाजनक निर्देशिका में निहित है।
35 बाइट पेनल्टी (अपने स्कोर में 35 जोड़ें) के लिए आप मान सकते हैं कि शब्द सूची पहले से ही स्ट्रिंग की सूची के रूप में एक चर में भरी हुई है। यह मुख्य रूप से उन भाषाओं के लिए है जो फाइलें नहीं पढ़ सकती हैं, लेकिन कोई भी जमावट इसका लाभ उठा सकती है।
आपके प्रोग्राम को शब्द सूची में उन सभी शब्दों को आउटपुट करना होगा जिन्हें इनपुट नंबर में परिवर्तित किया जा सकता है। उन्हें स्टैडआउट (या समान), एक प्रति पंक्ति (एक वैकल्पिक अनुगामी न्यूलाइन के साथ) मुद्रित किया जाना चाहिए, या यदि आप एक फ़ंक्शन लिखने के लिए चुना है, तो उन्हें स्ट्रिंग की सूची के रूप में वापस किया जा सकता है। शब्द सूची आवश्यक रूप से वर्णानुक्रम में नहीं है और आउटपुट की आवश्यकता नहीं है।
यदि संभव शब्द नहीं हैं, तो आउटपुट (या सूची) खाली हो जाएगा। यदि रिक्त स्ट्रिंग इनपुट है तो आउटपुट भी खाली है।
स्टड, कमांड लाइन या फ़ंक्शन के लिए एक स्ट्रिंग तर्क के रूप में इनपुट लें। शब्द सूची, या इसका फ़ाइल नाम, इनपुट का हिस्सा नहीं होना चाहिए, केवल अंक स्ट्रिंग।
आप शब्द सूची में केवल एकल शब्दों का मिलान कर रहे हैं, शब्दों के अनुक्रम नहीं। यह शब्द noon
संभवतः परिणामों में से एक होगा 22
, लेकिन शब्द अनुक्रम no one
नहीं होगा।
परीक्षण के मामलों
मान लीजिए कि यह शब्द सूची है:
stnmrljkfp
zthnmrlshqfb
asatanamaralajakafapa
aizxydwwwnhimouooraleshhhcavabe
zdnmrlshcvb
zdnmrlshchvb
sthnmrlchgvb
shthnmrlchgvb
bob
pop
bop
bopy
boppy
इनपुट 0123456789
को छोड़कर सभी लंबे शब्द देने चाहिए zdnmrlshchvb
और shthnmrlchgvb
:
stnmrljkfp
zthnmrlshqfb
asatanamaralajakafapa
aizxydwwwnhimouooraleshhhcavabe
zdnmrlshcvb
sthnmrlchgvb
इनपुट 99
देना चाहिए:
bob
pop
bop
bopy
(आउटपुट शब्द किसी भी क्रम में हो सकते हैं।)
स्कोरिंग
बाइट्स में सबसे कम सबमिशन जीतता है। टाईब्रेकर पहले पोस्ट किए गए सबमिशन में जाता है।
निफ्टी संबंधित साइट: numzi.com ।