परिचय
इस चुनौती के प्रयोजनों के लिए, हम एक वर्ग मैट्रिक्स A (जैसे कि E = A i , j ) में तत्व E के पड़ोसियों को परिभाषित करेंगे , क्योंकि A की सभी प्रविष्टियाँ तुरंत आसन्न तिरछे, क्षैतिज या अनुलंब रूप से E तक हैं (यानी वे "चारों ओर" ई , चारों ओर लपेटे बिना)।
पेडेंट के लिए, ए i के पड़ोसियों की एक औपचारिक परिभाषा , एक के लिएn×nmatixएकहै (0 अनुक्रमित): एन मैं , जहां ई i ,
मान लीजिए कि मैं सूचकांक में तत्व है , दुश्मनी में रहती है अगर यह coprime हैसबअपने पड़ोसियों (यह है कि, gcd ( एक मैं , )। अफसोस की बात है कि यह खराब प्रविष्टि अपने आस-पास के निवासियों से चीनी का एक कप भी उधार नहीं ले सकती ...
कार्य
पर्याप्त कहानियां: सकारात्मक पूर्णांक के वर्ग मैट्रिक्स को देखते हुए , निम्न में से एक आउटपुट:
- तत्वों का एक फ्लैट सूची (deduplicated या नहीं) सभी प्रविष्टियों कि कुछ सूचकांकों पर कब्जा का संकेत में एम ऐसी है कि पड़ोसियों एन मैं , शत्रुतापूर्ण हैं।
- एक बूलियन मैट्रिक्स जिसमें एस पदों पर है जहां पड़ोसी शत्रुतापूर्ण और 0 अन्यथा (आप 0 और 1 के स्थान पर किसी भी अन्य सुसंगत मूल्यों को चुन सकते हैं )।
- सूचकांकों के जोड़े की सूची कि शत्रुतापूर्ण पड़ोस का प्रतिनिधित्व करते हैं।
भौतिकी में संदर्भ कार्यान्वयन - पायथन सिंटैक्स के साथ-साथ I / O के लिए भी समर्थन करता है । आप इनपुट ले सकते हैं और किसी भी मानक विधि के माध्यम से और किसी भी उचित प्रारूप में आउटपुट प्रदान कर सकते हैं , जबकि ध्यान दें कि इन खामियों को डिफ़ॉल्ट रूप से मना किया गया है। यह कोड-गोल्फ है, इसलिए बाइट्स में (हर भाषा में) सबसे छोटा कोड जीतता है!
इसके अलावा, आप मैट्रिक्स का आकार इनपुट के रूप में भी ले सकते हैं और इसके अलावा मैट्रिक्स को एक फ्लैट सूची के रूप में ले सकते हैं क्योंकि यह हमेशा चौकोर होगा।
उदाहरण
निम्नलिखित मैट्रिक्स पर विचार करें:
प्रत्येक तत्व के संबंधित पड़ोसी हैं:
i j – E -> Neighbours | All coprime to E?
|
0 0 – 64 -> {10; 27; 22} | False
0 1 – 10 -> {64; 14; 27; 22; 32} | False
0 2 – 14 -> {10; 22; 32} | False
1 0 – 27 -> {64; 10; 22; 53; 58} | True
1 1 – 22 -> {64; 10; 14; 27; 32; 53; 58; 36} | False
1 2 – 32 -> {10; 14; 22; 58; 36} | False
2 0 – 53 -> {27; 22; 58} | True
2 1 – 58 -> {27; 22; 32; 53; 36} | False
2 2 – 36 -> {22; 32; 58} | False
और इस प्रकार आउटपुट निम्नलिखित में से एक होना चाहिए:
{27; 53}
{{0; 0; 0}; {1; 0; 0}; {1; 0; 0}}
{(1; 0); (2; 0)}
परीक्षण के मामलों
Input –> Version 1 | Version 2 | Version 3
[[36, 94], [24, 69]] ->
[]
[[0, 0], [0, 0]]
[]
[[38, 77, 11], [17, 51, 32], [66, 78, 19]] –>
[38, 19]
[[1, 0, 0], [0, 0, 0], [0, 0, 1]]
[(0, 0), (2, 2)]
[[64, 10, 14], [27, 22, 32], [53, 58, 36]] ->
[27, 53]
[[0, 0, 0], [1, 0, 0], [1, 0, 0]]
[(1, 0), (2, 0)]
[[9, 9, 9], [9, 3, 9], [9, 9, 9]] ->
[]
[[0, 0, 0], [0, 0, 0], [0, 0, 0]]
[]
[[1, 1, 1], [1, 1, 1], [1, 1, 1]] ->
[1, 1, 1, 1, 1, 1, 1, 1, 1] or [1]
[[1, 1, 1], [1, 1, 1], [1, 1, 1]]
[(0, 0), (0, 1), (0, 2), (1, 0), (1, 1), (1, 2), (2, 0), (2, 1), (2, 2)]
[[35, 85, 30, 71], [10, 54, 55, 73], [80, 78, 47, 2], [33, 68, 62, 29]] ->
[71, 73, 47, 29]
[[0, 0, 0, 1], [0, 0, 0, 1], [0, 0, 1, 0], [0, 0, 0, 1]]
[(0, 3), (1, 3), (2, 2), (3, 3)]