उन मजेदार पिनव्हील्स को याद रखें जिन्हें आप उड़ाते हैं और वे गोल और गोल घूमते हैं? चलो एक कोड!
एक पिनव्हील में \ | / _
इसके केंद्र और हथियारों को चित्रित करने वाले पात्रों का समूह होगा । एक संभावित पिनव्हील इस तरह दिख सकता है:
|
|
|_ ___
___|_|
|
|
|
लेकिन क्या एक पिनव्हील है जो स्पिन नहीं करता है? कोई मज़ा नहीं! हम प्रतीकों को पुन: व्यवस्थित करके इसे स्पिन कर सकते हैं:
/
\ /
\ /
\/\
\/\
/ \
/ \
/
चुनौती एक प्रोग्राम बनाने की है जो तीन पूर्णांकों को लेता है और नीचे निर्दिष्ट के रूप में एक पिनव्हील आउटपुट करता है। इनमें से पहला हथियारों की संख्या है, दूसरा पिनव्हील की भुजाओं की लंबाई है, और तीसरा यह है कि यह एक क्रांति की घड़ी के आठवें हिस्से को स्पिन करेगा।
आप निम्नलिखित मान सकते हैं:
- हथियारों की संख्या हमेशा 0, 1, 2, 4, या 8 होगी।
- सभी हथियार समान रूप से एक दूसरे से अलग होंगे।
पिनव्हील की प्रारंभिक स्थिति का केंद्र इस तरह होगा:
_ |_|
यदि हथियारों की संख्या 1 है, तो आप यह तय कर सकते हैं कि हथियार किस दिशा में हैं।
- यदि हथियारों की संख्या 2 है, तो आप हथियारों को लंबवत या क्षैतिज रूप से बनाने का निर्णय ले सकते हैं।
आप एक पूर्ण प्रोग्राम लिख सकते हैं जो STDIN या कमांड-लाइन तर्क के माध्यम से इनपुट लेता है, या एक फ़ंक्शन जो फ़ंक्शन तर्कों के माध्यम से इनपुट लेता है। आपके प्रोग्राम को आउटपुट का एक क्रम दिखाना होगा जो पिनव्हील कताई को दिखाता है, प्रत्येक को कम से कम एक खाली लाइन द्वारा अलग किया जाता है। पिनव्हील का केंद्र एक से अधिक स्थानों से नहीं बढ़ना चाहिए। आप आवश्यक के रूप में कई प्रमुख और अनुगामी रिक्त स्थान के रूप में उत्पादन कर सकते हैं।
यहाँ कुछ उदाहरण हैं:
0 2 1
_
|_|
/\
\/
१ ३ २
|
|
|_
|_|
/
/
/
/\
\/
_ ___
|_|
२ २ ०
_ __
__|_|
४ १
\ | /
\ | /
\ | /
\|_/____
____|_|
/ |\
/ | \
/ | \
/ | \
| /
\ | /
\ | /
\ |/
____\/\____
\/\
/| \
/ | \
/ | \
/ |
यह कोड गोल्फ है, इसलिए सबसे छोटा कोड जीतता है। सौभाग्य!
1 3 5
और हाथ शुरू में इशारा करते हुए), इससे समायोजित करने के लिए रिक्त स्थान को पूर्व आउटपुट में पूर्व निर्धारित करने की आवश्यकता होगी।