एक प्रोग्राम या फ़ंक्शन लिखें जो सकारात्मक पूर्णांक की सूची में लेता है। इनमें से प्रत्येक पूर्णांक 2 डी विमान पर एक वर्ग की ओर की लंबाई का प्रतिनिधित्व करता है। प्रत्येक वर्ग को विमान में किसी भी पूर्णांक निर्देशांक में ले जाया जा सकता है, लेकिन यह घूम नहीं सकता है और यह अन्य वर्गों को ओवरलैप नहीं कर सकता है।
प्रत्येक वर्ग के लिए एक अलग प्रिंट करने योग्य ASCII वर्ण का उपयोग करना (खाली स्थान जो खालीपन के लिए उपयोग किया जाता है) आपके प्रोग्राम / फ़ंक्शन को उन चौकों की किसी एक व्यवस्था को प्रिंट करने की आवश्यकता होती है जिसमें परावर्तक समरूपता की एक क्षैतिज या ऊर्ध्वाधर रेखा होती है। अगर ऐसी कोई व्यवस्था मौजूद नहीं है तो कुछ भी नहीं छापना चाहिए।
वर्ग अलग-अलग वर्ण हैं, इसलिए उन्हें अलग बताया जा सकता है। केवल सभी वर्गों के संघ द्वारा बनाई गई आकृति को सममित होने की आवश्यकता है। आप मान सकते हैं कि सूची में 94 से अधिक तत्व नहीं होंगे (क्योंकि 94 अक्षर हैं)।
उदाहरण के लिए, यदि इनपुट था [2, 1, 2, 2, 2]
, तो एक संभावित आउटपुट है:
DD--
DD--
Z
FFPP
FFPP
इस आकृति में परावर्तक समरूपता की एक क्षैतिज रेखा है; इसके ऊपरी और निचले हिस्से में दर्पण चित्र हैं। यहां कुछ अन्य संभावनाएं हैं: (ध्यान दें कि वर्गों को छूने की आवश्यकता नहीं है और किसी भी वर्ण का उपयोग तब तक किया जा सकता है जब तक कि कोई दो वर्ग एक ही वर्ण के न हों।)
55
55
%%
%%
@
HH
HH
((
((
G
11 33
11 33
22 44
22 44
समरूपता की रेखा वर्णों के बीच की सीमा भी हो सकती है, उदाहरणार्थ [2, 4]
:
!!!!
!!!! ++
!!!! ++
!!!!
वर्गों के कुछ सेटों को सममित रूप से व्यवस्थित करना असंभव है, जैसे [1, 2, 3]
:
AAA BB C
AAA BB (these can't be vertically or horizontally symmetric => no output)
AAA
और याद रखें कि समग्र आकार सममित हो सकता है भले ही वर्ग की सीमाएं न हों। उदाहरण के लिए एक मान्य आउटपुट [2, 1, 1, 1, 1, 4]
है:
AA----
AA----
BC----
DE----
इसी तरह, के लिए एक वैध उत्पादन [1, 1, 2, 3, 5]
है:
44444
44444
44444
44444
44444
33301
33322
33322
टिप्पणियाँ
- इनपुट सूची में हमेशा 1 से 94 तत्व होंगे।
- किसी भी उचित तरीके से इनपुट लें: स्टडिन, कमांड लाइन, टेक्स्ट फाइल, फंक्शन आरजी। यह आपकी आवश्यकताओं, जैसे
{1, 2, 3, 4}
या के अनुरूप करने के लिए थोड़ा स्वरूपित किया जा सकता है[1 2 3 4]
। - स्टडआउट या इसी तरह का आउटपुट। प्रमुख / अनुगामी स्थानों या न्यूलाइन्स की कोई भी मात्रा तब तक ठीक है जब तक कि परिणामी आकृति में समरूपता की रेखा न हो।
- समरूपता की एक विकर्ण रेखा की गिनती नहीं होती है (अन्यथा यह सुपर आसान होगा)। इसके अलावा, यह परावर्तक समरूपता होनी चाहिए, न कि घूर्णी या संक्रमणकालीन।
- मुझे ईमानदारी से यकीन नहीं है कि यह काम कितना कम्प्यूटेशनल है। आप आंशिक उत्तर पोस्ट कर सकते हैं जो समस्या के कुछ सबसेट को हल करते हैं (विशेषकर यदि आप एक विशेष रूप से चतुर एल्गोरिदम को दिखाना चाहते हैं)। ये जीतने के योग्य नहीं हैं।
- उदाहरण के लिए, आप मान सकते हैं कि इनपुट में हमेशा कम से कम एक सममित व्यवस्था होती है (इसलिए सूचियाँ
[1, 2, 3]
कभी इनपुट नहीं होती हैं)। - या, उदाहरण के लिए, आप केवल उन व्यवस्थाओं पर विचार कर सकते हैं जहां वर्ग की सीमाएं, साथ ही समग्र आकार, सममित हैं। इस मामले में,
[1, 1, 2, 3, 5]
कोई आउटपुट नहीं होगा। - यदि आप पागल होना चाहते हैं, तो आप इस विचार को आयतों या पॉलीओमीनो तक बढ़ा सकते हैं ।
- उदाहरण के लिए, आप मान सकते हैं कि इनपुट में हमेशा कम से कम एक सममित व्यवस्था होती है (इसलिए सूचियाँ
स्कोरिंग
आपका स्कोर बाइट्स में आपके कार्यक्रम का आकार है । सबसे कम स्कोर जीतता है। टाईब्रेकर पहले जवाब पोस्ट किया जाता है।
[2, 4, 6, 7, 8, 9, 11, 15, 16, 17, 18, 19, 24, 25, 27, 29, 33, 35, 37, 42, 50, 112]
, हालांकि सवाल बहुत अधिक स्वतंत्रता देता है क्योंकि शायद अन्य समाधान हैं।