आपको पूर्णांक M का एक वर्ग मैट्रिक्स और दूसरा सकारात्मक पूर्णांक n दिया जाएगा , M के आकार से कड़ाई से छोटा । आपका कार्य आकार n के M के सभी वर्ग उप-मैट्रिक्स उत्पन्न करना है ।
इस चुनौती के प्रयोजनों के लिए, एक वर्ग उप-मैट्रिक्स समीप की पंक्तियों और स्तंभों का एक समूह है जो एम में निहित है ।
इनपुट / आउटपुट प्रारूप
आप किसी भी अन्य उचित प्रारूप को चुनने के लिए स्वतंत्र हैं, ये केवल कुछ उदाहरण हैं।
इनपुट
- मूल मैट्रिक्स प्रकार में एक मैट्रिक्स (यदि आपकी भाषा में एक है)
- एक 2D सरणी (1D सरणियों का एक सरणी, प्रत्येक पंक्ति / एक कॉलम के अनुरूप)
- 1D सरणी (चूंकि मैट्रिक्स हमेशा चौकोर होता है)
- एक स्ट्रिंग (आपने रिक्ति को चुना, लेकिन कृपया इसे किसी भी तरह से दुरुपयोग न करें), आदि।
उत्पादन
- मैट्रिक्स का एक मैट्रिक्स।
- एक 4 डी सरणी, जहां प्रत्येक तत्व (3 डी सूची) एक पंक्ति / स्तंभ पर उप-मेट्रिसेस का प्रतिनिधित्व करता है।
- एक 3 डी सरणी, जहां प्रत्येक तत्व (2 डी सूची) एक उप-मैट्रिक्स का प्रतिनिधित्व करता है।
- परिणामस्वरूप उप-मेट्रिसेस आदि का एक स्ट्रिंग प्रतिनिधित्व।
ऐनक
- आप इनपुट के रूप में M का आकार भी चुन सकते हैं । यह कम से कम 2 होने की गारंटी है ।
- आउटपुट का ओरिएंटेशन मनमाना है: आप उप-मैट्रिसेस को कॉलम की सूची या पंक्तियों की सूची के रूप में आउटपुट करने के लिए चुन सकते हैं, लेकिन आपकी पसंद सुसंगत होनी चाहिए।
- आप किसी भी प्रोग्रामिंग भाषा में प्रतिस्पर्धा कर सकते हैं और इनपुट ले सकते हैं और किसी भी मानक विधि के माध्यम से आउटपुट प्रदान कर सकते हैं , जबकि ध्यान दें कि इन खामियों को डिफ़ॉल्ट रूप से मना किया गया है।
- यह कोड-गोल्फ है , इसलिए हर भाषा के लिए सबसे कम सबमिशन (बाइट्स में) जीतता है।
उदाहरण
दिए गए n = 3 और M :
1 2 3 4 ५ ६ 7 7 ९ १० ११ १२ १३ १४ १५ १६
संभावित 3x3 उपमाएँ हैं:
+ ------- + + -------- + 1 2 3 4 1 2 3 4 | 1 2 3 | 4 1 | २ ३ ४ | + -------- + + -------- + | ५ ६ | | 8 5 | ६ 6 8 | | ५ ६ 7 | | ५ | ६ 6 8 | | ९ १० ११ | १२ ९ | १० ११ १२ | | ९ १० ११ | १२ ९ | १० ११ १२ | + ------- + + -------- + | १३ १४ १५ | १६ १३ | १४ १५ १६ | 13 14 15 16 13 14 15 16 + -------- + + -------- +
तो परिणाम होगा:
[[[1, 2, 3], [5, 6, 7], [9, 10, 11]], [[2, 3, 4], [6, 7, 8], [10, 11, 12]], [[5, 6, 7], [9, 10, 11], [13, 14, 15]], [[6, 7, 8], [10, 11, 12], [14, 15, 16]]]
जैसा कि ऊपर उल्लेख किया गया है, का एक आउटपुट:
[[[1, 5, 9], [2, 6, 10], [3, 7, 11]], [[2, 6, 10], [3, 7, 11], [4, 8, 12]], [[5, 9, 13], [6, 10, 14], [7, 11, 15]], [[6, 10, 14], [7, 11, 15], [8, 12, 16]]]
इसके अलावा, यदि आप पंक्तियों की सूची के रूप में उप-मेट्रिसेस को वापस करना चुनते हैं, तो यह स्वीकार्य होगा।
परीक्षण के मामलों
इनपुट्स एम, एन :
[[1,2,3],[5,6,7],[9,10,11]], 1
[[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16]], 3
[[100,-3,4,6],[12,11,14,8],[0,0,9,3],[34,289,-18,3]], 2
[[100,-3,4,6],[12,11,14,8],[9,10,11,12],[13,14,15,16]], 3
और संबंधित आउटपुट (पंक्तियों की सूची के रूप में दिए गए उप-मैट्रीस):
[[[1]],[[2]],[[3]],[[5]],[[6]],[[7]],[[9]],[[10]],[[11]]]
[[[1,2,3],[5,6,7],[9,10,11]],[[2,3,4],[6,7,8],[10,11,12]],[[5,6,7],[9,10,11],[13,14,15]],[[6,7,8],[10,11,12],[14,15,16]]]
[[[100,-3],[12,11]],[[-3,4],[11,14]],[[4,6],[14,8]],[[12,11],[0,0]],[[11,14],[0,9]],[[14,8],[9,3]],[[0,0],[34,289]],[[0,9],[289,-18]],[[9,3],[-18,3]]]
[[[100,-3,4],[12,11,14],[9,10,11]],[[-3,4,6],[11,14,8],[10,11,12]],[[12,11,14],[9,10,11],[13,14,15]],[[11,14,8],[10,11,12],[14,15,16]]]
या, स्तंभों की सूची के रूप में:
[[[1]],[[2]],[[3]],[[5]],[[6]],[[7]],[[9]],[[10]],[[11]]]
[[[1,5,9],[2,6,10],[3,7,11]],[[2,6,10],[3,7,11],[4,8,12]],[[5,9,13],[6,10,14],[7,11,15]],[[6,10,14],[7,11,15],[8,12,16]]]
[[[100,12],[-3,11]],[[-3,11],[4,14]],[[4,14],[6,8]],[[12,0],[11,0]],[[11,0],[14,9]],[[14,9],[8,3]],[[0,34],[0,289]],[[0,289],[9,-18]],[[9,-18],[3,3]]]
[[[100,12,9],[-3,11,10],[4,14,11]],[[-3,11,10],[4,14,11],[6,8,12]],[[12,9,13],[11,10,14],[14,11,15]],[[11,10,14],[14,11,15],[8,12,16]]]]