मैट्रिक्स को देखते हुए, एक्स को बनाने के लिए उसके मानों को ऊपर / नीचे या बाएँ / दाएँ, इसे मोड़ो और सूची वापस लौटाओ। मैं यहाँ एल्गोरिथ्म का वर्णन करता हूँ:
कलन विधि
आपका इनपुट आपकी भाषा की उचित संख्यात्मक क्षमता के भीतर पूर्णांक का एक विषम आकार का वर्ग मैट्रिक्स होगा।
एक उदाहरण के रूप में निम्नलिखित मैट्रिक्स लेते हैं:
1 2 3 2 1
0 3 2 3 0
4 2 5 6 3
7 4 7 9 4
0 6 7 2 5
सबसे पहले, प्रत्येक संख्या को निकटतम संख्या में जोड़ें जो मुख्य विकर्ण या एंटीडायंगल पर है। यही है, मैट्रिक्स को मुख्य विकर्ण और एंटीडायंगल के साथ चार खंडों में विभाजित करें, और फिर केंद्र की ओर प्रत्येक अनुभाग में सभी संख्याओं को योग करें, जैसे:
1 2 3 2 1
↓ ↓ ↓
0 → 3 2 3 ← 0
↓
4 → 2 → 5 ← 6 ← 3
↑
7 → 4 7 9 ← 4
↑ ↑ ↑
0 6 7 2 5
यह चरण निम्नलिखित परिणाम देता है:
1 1
5 5
39
17 15
0 5
फिर, हम इसे एक्स को समतल करके और तत्वों को ऊपर-बाएं पहले और नीचे के अंतिम भाग के साथ जोड़ते हैं। यह निम्न परिणाम देता है:
1, 0, 5, 17, 39, 5, 15, 1, 5
आप इसे मुख्य विकर्ण को खींचकर और इसे वामावर्त घुमाने के रूप में कल्पना कर सकते हैं।
यह अंतिम परिणाम है।
चुनौती
इस एल्गोरिथ्म को लागू करें। मानक खामियां लागू होती हैं। सभी उचित I / O प्रारूप स्वीकार्य हैं।
परीक्षण के मामलों
Input
Output
1 2 3 2 1
0 3 2 3 0
4 2 5 6 3
7 4 7 9 4
0 6 7 2 5
1, 0, 5, 17, 39, 5, 15, 1, 5
1 2 3 4 5
5 4 3 2 1
1 3 5 7 9
0 9 8 7 6
6 7 8 9 0
1, 6, 11, 16, 47, 7, 22, 5, 0
1 3 7 4 8 5 3
8 4 7 5 3 8 0
0 6 3 6 9 8 4
2 6 5 8 7 4 2
0 6 4 3 2 7 5
0 6 7 8 5 7 4
8 5 3 2 6 7 9
1, 8, 15, 11, 23, 20, 62, 32, 25, 13, 18, 3, 9