इस चुनौती के लिए, आपको एक प्रोग्राम या फ़ंक्शन लिखना चाहिए जो किसी दिए गए वर्ग मैट्रिक्स के विकर्णों को आउटपुट करता है। हालांकि, यदि आप अपने समाधान के स्रोत कोड की पंक्तियों और स्तंभों को स्थानांतरित करते हैं, तो इसके बजाय यह एक प्रोग्राम या फ़ंक्शन बनना चाहिए जो मैट्रिक्स के एंटीडिओग्नल को लौटाता है। बारीकियों के लिए पढ़ें ...
नियम
- आपके समाधान के स्रोत कोड को वर्णों के 2 डी ग्रिड के रूप में माना जाता है, जो आपकी पसंद के मानक न्यूलाइन (लाइनफीड, कैरिज रिटर्न या दोनों के संयोजन) द्वारा अलग किया जाता है।
आपके स्रोत कोड की कोई भी पंक्ति पिछले एक से अधिक नहीं हो सकती है। यहां मान्य लेआउट के कुछ उदाहरण दिए गए हैं:
### ### ###
######## ####### ### ### #
और यहां एक अमान्य लेआउट का उदाहरण दिया गया है (चूंकि तीसरी पंक्ति दूसरी से लंबी है):
###### #### ##### ###
आपके दो समाधान एक दूसरे के स्थानान्तरण होना चाहिए, यही है कि आप पंक्तियों और स्तंभों को स्वैप करके एक से दूसरे को प्राप्त करें। यहाँ दो वैध जोड़े हैं:
abc def ghi
adg beh cfi
तथा
print 10 (~^_^)~ foo bar !
p(fb! r~oa i^or n_ t^ ) 1~ 0
ध्यान दें कि रिक्त स्थान किसी भी अन्य वर्णों की तरह व्यवहार किया जाता है। विशेष रूप से, अनुगामी रिक्त स्थान महत्वपूर्ण हैं क्योंकि वे स्थानान्तरण में अनुगामी रिक्त स्थान नहीं हो सकते हैं।
प्रत्येक समाधान एक प्रोग्राम या फ़ंक्शन होना चाहिए जो इनपुट के रूप में एकल-अंक पूर्णांक के गैर-खाली वर्ग मैट्रिक्स लेता है। एक समाधान को मैट्रिक्स के सभी विकर्णों की एक सूची का उत्पादन करना चाहिए और दूसरे को सभी एंटीडायंगल की सूची का उत्पादन करना चाहिए। आप किसी भी उचित, अस्पष्ट इनपुट और आउटपुट प्रारूप का उपयोग कर सकते हैं, लेकिन वे दो समाधानों के बीच समान होना चाहिए (इसका मतलब यह भी है कि उन्हें या तो दोनों कार्य या दोनों कार्यक्रम करने होंगे)।
- प्रत्येक विकर्ण ऊपर से नीचे दाईं ओर चलता है, और उन्हें ऊपर से नीचे तक आदेश दिया जाना चाहिए।
- प्रत्येक एंटीडायंगल नीचे से ऊपर की ओर दाईं ओर चलता है, और उन्हें ऊपर से नीचे तक आदेश दिया जाना चाहिए।
स्कोरिंग
संभव के रूप में "वर्ग" के रूप में समाधान को प्रोत्साहित करने के लिए, प्राथमिक स्कोर पंक्तियों की संख्या या आपके समाधान के स्तंभों की संख्या है, जो भी बड़ा है । कम बेहतर है। समाधान में पात्रों की संख्या से संबंध टूट जाते हैं, नई संख्याओं की गिनती नहीं करते हैं। फिर, कम बेहतर है। उदाहरण:
abcd
efg
h
इस और इसके स्थानान्तरण का प्राथमिक स्कोर 4 होगा (जैसा कि 4 कॉलम हैं) और 8 का टाई-ब्रेकिंग स्कोर (जैसा कि 8 गैर-नई वर्ण हैं)। कृपया अपने उत्तर के शीर्ष लेख में दोनों मानों का हवाला दें।
परीक्षण के मामलों
दो समाधानों द्वारा निष्पादित वास्तविक कार्य यहां प्राथमिक चुनौती नहीं होनी चाहिए, लेकिन आपके समाधानों का परीक्षण करने में मदद करने के लिए यहां दो उदाहरण हैं:
Input:
1 2 3
4 5 6
7 8 9
Diagonals:
3
2 6
1 5 9
4 8
7
Antidiagonals:
1
4 2
7 5 3
8 6
9
Input:
1 0 1 0
0 1 0 1
1 0 1 0
0 1 0 1
Diagonals:
0
1 1
0 0 0
1 1 1 1
0 0 0
1 1
0
Antidiagonals:
1
0 0
1 1 1
0 0 0 0
1 1 1
0 0
1