यह कोड गोल्फ है। विजेता बाइट्स की सबसे छोटी संख्या के साथ मान्य कोड है।
चुनौती
इनपुट M और N को देखते हुए , चौकों की एक आयताकार ग्रिड की चौड़ाई और ऊंचाई, एक बहुभुज का उत्पादन करता है जो निम्नलिखित को संतुष्ट करता है:
- बहुभुज किनारों को केवल चौकोर किनारों से बनाया जाता है: कोई विकर्ण किनारे नहीं हैं - सभी ऊर्ध्वाधर या क्षैतिज हैं।
- बहुभुज के पास कोई छेद नहीं है: बहुभुज के बाहर प्रत्येक वर्ग बहुभुज के बाहर वर्गों पर रूढ़िवादी कदमों से पहुंच सकता है, आयत की बाहरी सीमा पर बहुभुज के बाहर एक वर्ग से शुरू होता है।
- बहुभुज का कोई आत्म-चौराहा नहीं है: वर्टिक्स पर मिलने वाले वर्ग किनारों की बैठक, 2 से अधिक कोई भी बहुभुज परिधि का हिस्सा नहीं हो सकता है।
- बहुभुज जुड़ा हुआ है: बहुभुज में किसी भी वर्ग को बहुभुज में किसी भी अन्य वर्ग से रूढ़िवादी चरणों के माध्यम से पहुंच योग्य होना चाहिए जो बहुभुज के भीतर रहते हैं।
- बहुभुज की अधिकतम संभव परिधि है: नीचे दिखाए गए सूत्र के अनुसार।
आपके कोड को M और N के लिए 1 से 255 तक काम करना होगा ।
अधिकतम परिधि के लिए सूत्र
यहां चुनौती उन बहुभुजों को सबसे अधिक परिधि के साथ मिल रही है। स्वयं अधिकतम परिधि हमेशा सूत्र द्वारा परिभाषित की जाती है:
यह सच है क्योंकि अधिकतम परिधि के लिए प्रत्येक वर्ग शीर्ष को परिधि पर होना चाहिए। विषम संख्या के लिए यह संभव नहीं है और जो सबसे अच्छा हो सकता है वह एक शीर्ष कम है (चूंकि परिधि हमेशा होती है)।
उत्पादन
न्यूलाइन से अलग किए गए वर्णों की एक स्ट्रिंग के रूप में आकार को आउटपुट करें ( बिल्कुल एम वर्णों की एन पंक्तियाँ )। यहाँ मैं बहुभुज के बाहर वर्गों के लिए जगह का उपयोग कर रहा हूँ, और बहुभुज के अंदर वर्गों के लिए '#', लेकिन आप किसी भी दो अलग-अलग वर्णों का उपयोग कर सकते हैं, बशर्ते उनका अर्थ सभी आदानों के अनुरूप हो।
आप एक प्रमुख न्यूलाइन और एक अनुवर्ती न्यूलाइन तक शामिल हो सकते हैं।
अगर आप चाहें तो आप के बजाय उत्पादन कर सकते हैं एम बिल्कुल की पंक्तियों एन अक्षर, और आप चुन सकते हैं एम द्वारा एन कुछ इनपुट और आउटपुट के लिए एन द्वारा एम दूसरों के लिए उत्पादन।
उदाहरण
एक छेद के कारण अमान्य :
###
# #
###
चौराहे के कारण अवैध (तिरछे को छूते हुए - परिधि पर 4 वर्ग किनारों के साथ एक शीर्ष) और, संयोग से, एक छेद:
##
# #
###
काट दिए जाने के कारण अमान्य :
#
# #
#
अधिकतम परिधि के वैध बहुभुज:
# #
# #
###
क्रेडिट
मैंने शुरू में कम करके आंका था कि अधिकतम परिधि के मूल्य की कितनी जल्दी गणना की जा सकती है, और आउटपुट के रूप में केवल उस मूल्य के लिए पूछने जा रहा था। चैट में शानदार मदद करने वाले लोगों को यह समझाने के लिए धन्यवाद कि मनमानी एन और एम के लिए अधिकतम परिधि कैसे काम करें और इसे एक चुनौती में बदलने में मदद करें जो एक से अधिक उत्तर के लिए चलेगी ...
विशेष रूप से धन्यवाद:
स्पर्म , ज़र्गब , फ़ेरसुम , जिम्मी 23013 ।