परिचय:
जब हम लेडीबग्स के बारे में सोचते हैं, तो हम आमतौर पर काले धब्बों के साथ एक लाल या गहरे नारंगी बग के बारे में सोचते हैं। यद्यपि यह आवश्यक नहीं है, क्योंकि लाल / नारंगी चित्तीदार भिंडी के साथ काले भी होते हैं , या बिना धब्बों वाली भिंडी होती है , हम मुख्य रूप से इस एशियाई गुबरैले जैसी भिंडी की तस्वीर लेते हैं:
एक और ध्यान देने वाली बात यह है कि भिंडी पर धब्बे लगभग हमेशा सममित होते हैं। और यहीं से यह चुनौती सामने आती है।
चुनौती:
एक पूर्णांक n
( >= 0
) को देखते हुए , निम्नलिखित ASCII- आर्ट लेडीबग को एक या कई बार आउटपुट करें, सममित धब्बों को समान रूप से दो पक्षों के बीच विभाजित किया जाए, साथ ही साथ दो या अधिक लेडीबग्स।
यहाँ डिफ़ॉल्ट लेडीबग लेआउट है:
_V_
/(@I@)\
/ | \
| | |
\ | /
''-!-''
यदि n=0
, हम ऊपर के रूप में भिंडी का उत्पादन करते हैं।
जब n
शून्य से बड़ा होता है, तो हम या तो ASCII- कला बग के रिक्त स्थान को भरते हैं o
, या |
केंद्र में एक राजधानी के साथ प्रतिस्थापित करते हैं O
। लक्ष्य n
'खाली' लेडीबग (एस) में परिवर्तन करना है, जबकि अभी भी सममित आउटपुट (प्रति लेडीबग) का उत्पादन करना है, और संभव के रूप में कुछ लेडीबग्स का उत्पादन करना है।
तो इसके लिए वैध आउटपुट n=1
हैं:
_V_
/(@I@)\
/ O \
| | |
\ | /
''-!-''
_V_
/(@I@)\
/ | \
| O |
\ | /
''-!-''
_V_
/(@I@)\
/ | \
| | |
\ O /
''-!-''
लेकिन यह अमान्य होगा:
_V_
/(@I@)\
/ | \
| o | |
\ | /
''-!-''
इसके लिए वैध आउटपुट n=2
हैं:
_V_
/(@I@)\
/ O \
| O |
\ | /
''-!-''
_V_
/(@I@)\
/ O \
| | |
\ O /
''-!-''
_V_
/(@I@)\
/ o|o \
| | |
\ | /
''-!-''
_V_
/(@I@)\
/ | \
| o | o |
\ | /
''-!-''
etc. There are a lot of possible outputs.
पहला n
जो अब एक सिंगल लेडीबग में फिट होना संभव नहीं है n=24
। जिस स्थिति में आपको इसे दो लेडीबग्स में समान रूप से विभाजित करना होगा (आप चुन सकते हैं कि उन्हें एक-दूसरे के बगल में आउटपुट करें, या एक-दूसरे के नीचे - वैकल्पिक रूप से एक स्थान या उनके बीच एक नई-लाइन के साथ)। उदाहरण के लिए:
_V_ _V_
/(@I@)\ /(@I@)\
/o o|o o\ /o o|o o\
|o o | o o||o o | o o|
\o o|o o/ \o o|o o/
''-!-'' ''-!-''
या:
_V_
/(@I@)\
/ooo|ooo\
| | |
\ooo|ooo/
''-!-''
_V_
/(@I@)\
/ooo|ooo\
| | |
\ooo|ooo/
''-!-''
चुनौती नियम:
n
की सीमा में होगा0-1000
।- आप STDOUT में आउटपुट चुन सकते हैं, स्ट्रिंग या 2D-char एरे / लिस्ट आदि के रूप में वापस आ सकते हैं।
- नई-नई लाइनों या अनावश्यक व्हाट्सएप की अनुमति नहीं है। अनुगामी श्वेत-रिक्त स्थान और एकल अनुगामी नई-रेखा की अनुमति है।
- जैसा कि ऊपर उल्लेख किया गया है, जब दो या अधिक लेडीबग आवश्यक होते हैं, तो आप यह चुन सकते हैं कि उन्हें एक दूसरे के बगल में या एक दूसरे के नीचे (या दोनों का मिश्रण ..) के लिए आउटपुट करना है या नहीं।
- जब दो या अधिक लेडीबग्स एक-दूसरे के बगल में मुद्रित होते हैं, तो बीच में एक एकल वैकल्पिक स्थान की अनुमति होती है। जब दो या अधिक लेडीबग्स को एक दूसरे के नीचे प्रिंट किया जाता है, तो बीच में एक एकल वैकल्पिक नई-लाइन की अनुमति दी जाती है।
- आप अनुक्रम के दौरान किसी भी चरण पर लेडीबग्स के लेआउट को चुन सकते हैं, जब तक कि वे सममित और इनपुट के बराबर न हों
n
। - चूंकि लक्ष्य में
n
बदलाव है और जितनी संभव हो उतनी कम लेडीबग्स हैं, आप ऊपर से एक से अधिक लेडीबग का उपयोग करना शुरू कर देंगेn=23
। इन लेडीबग्स का लेआउट जरूरी नहीं है कि समान होना चाहिए। वास्तव में, यह कुछ इनपुट के लिए संभव नहीं है, जैसे दो का नामn=25
याn=50
। - इसके अलावा, कभी-कभी दो या अधिक लेडीबग्स के बीच डॉट्स को समान रूप से विभाजित करना संभव नहीं होता है। उस स्थिति में आपको उन्हें यथासंभव समान रूप से विभाजित करना होगा, जिनके बीच में 1 का अंतर होगा।
इसलिए n=50
, पिछले दो नियमों को ध्यान में रखते हुए, यह एक वैध संभव आउटपुट होगा (जहां पहले बग में 16 स्पॉट हैं, और अन्य दो में 17 हैं):
_V_ _V_ _V_
/(@I@)\ /(@I@)\ /(@I@)\
/oooOooo\ / O \ /o oOo o\
|ooooOoooo||ooooOoooo||o ooOoo o|
\ | / \oooOooo/ \o oOo o/
''-!-'' ''-!-'' ''-!-''
सामान्य नियम:
- यह कोड-गोल्फ है , इसलिए बाइट्स जीत में सबसे छोटा जवाब है।
कोड-गोल्फ भाषाओं को गैर-कोडगॉल्फिंग भाषाओं के साथ उत्तर पोस्ट करने से हतोत्साहित न करें। 'किसी भी' प्रोग्रामिंग भाषा के लिए यथासंभव संक्षिप्त उत्तर के साथ आने का प्रयास करें। - मानक नियम आपके उत्तर के लिए लागू होते हैं , इसलिए आपको उचित पैरामीटर और रिटर्न-टाइप, पूर्ण कार्यक्रमों के साथ STDIN / STDOUT, फ़ंक्शन / विधि का उपयोग करने की अनुमति दी जाती है। तुम्हारा कॉल।
- डिफ़ॉल्ट ढीले निषिद्ध हैं।
- यदि संभव हो, तो कृपया अपने कोड के लिए एक परीक्षण के साथ एक लिंक जोड़ें।
- इसके अलावा, यदि आवश्यक हो तो एक स्पष्टीकरण जोड़ें।
o
और O
बदले। मैंने शब्दों को थोड़ा बदल दिया है।
n=50
लिए, मेरा मानना है कि आपका मतलब है कि पहले बग में 16 स्पॉट हैं और अन्य दो में 17 हैं।