एक प्रोग्राम लिखें जो निर्धारित करेगा कि क्या दिया गया मैट्रिक्स एक क्वैंडल का प्रतिनिधित्व करता है। एक क्वैंडल एक एकल (गैर-कम्यूटेटिव, गैर-एसोसिएटिव) ऑपरेशन से सुसज्जित एक सेट है, जो निम्नलिखित स्वयंसिद्धों का पालन करता है:
- ऑपरेशन बंद हो गया है, जिसका अर्थ है कि
a◃b = c
हमेशा सेट का एक तत्व अगरa
और सेट के तत्वb
हैं। - ऑपरेशन सही-स्व-वितरण है
(a◃b)◃c = (a◃c)◃(b◃c)
:। - ऑपरेशन सही-विभाज्य है: किसी भी चुने हुए जोड़े के लिए
a
औरb
, ऐसा एक अनूठाc
हैc◃a = b
- ऑपरेशन निष्कलंक है:
a◃a = a
एक परिमित क्वैंडल को एक वर्ग मैट्रिक्स के रूप में दर्शाया जा सकता है। नीचे एक आदेश -5 उदाहरण ( स्रोत ) का एक उदाहरण है ।
0 0 1 1 1
1 1 0 0 0
3 4 2 4 3
4 2 4 3 2
2 3 3 2 4
N-th पंक्ति और m-th कॉलम (0-अनुक्रमित) पर स्थित मान n◃m का मान है। उदाहरण के लिए, इस quandle में, 4◃1 = 3
। इस मैट्रिक्स से क्वैंडल के कुछ गुण आसानी से देखे जा सकते हैं:
- यह बंद है क्योंकि इस 5x5 मैट्रिक्स में केवल 0-4 ही दिखाई देते हैं।
- यह वैचारिक है क्योंकि मैट्रिक्स विकर्ण 0 1 2 3 4 है
- यह सही-विभाज्य है क्योंकि किसी भी कॉलम में कोई डुप्लिकेट मान नहीं है। (पंक्तियाँ कर सकते हैं, और आमतौर पर होगा)
सही-स्व-वितरण की संपत्ति का परीक्षण करना कठिन है। एक शॉर्टकट हो सकता है, लेकिन सबसे सरल तरीका यह सत्यापित करने के लिए तीन अनुक्रमितों के प्रत्येक संभावित संयोजन पर पुनरावृति करना है m[m[a][b]][c] = m[m[a][c]][m[b][c]]
।
इनपुट
इनपुट 0-इंडेक्सिंग या 1-इंडेक्स (आपकी पसंद) का उपयोग करके एक वर्ग मैट्रिक्स की पंक्तियों की सूची होगी। प्रत्येक प्रविष्टि से एक भी अंकीय संख्या होगी 0
करने के लिए 8
(या 1
के माध्यम से 9
)। मैं इनपुट प्रारूप पर लचीला रहूंगा। कुछ स्वीकार्य स्वरूपों में शामिल हैं:
- जैसे मैट्रिक या सूची, के लिए अपनी भाषा के सबसे प्राकृतिक स्वरूपण
[[0 0 0][2 1 1][1 2 2]]
या(0,0,0,2,1,1,1,2,2)
। - व्हॉट्सएप, न्यूलाइन्स, कॉमा, आदि द्वारा सीमांकित मूल्यों की सूची।
- एक एकल स्ट्रिंग, जिसमें सभी मान एक साथ सम्मिलित हैं, जैसे कि
000211122
।
आपको इनपुट के रूप में मैट्रिक्स का पारगमन लेने की भी अनुमति है (स्तंभों के साथ पंक्तियों को स्वैप करना)। बस अपने उत्तर में यह बताना सुनिश्चित करें।
उत्पादन
एक एकल सत्य / फाल्सी मूल्य मैट्रिक्स की स्थिति को एक प्रश्न के रूप में दर्शाता है।
Quandles के उदाहरण
0
0 0
1 1
0 0 0
2 1 1
1 2 2
0 0 1 1
1 1 0 0
3 3 2 2
2 2 3 3
0 3 4 1 2
2 1 0 4 3
3 4 2 0 1
4 2 1 3 0
1 0 3 2 4
गैर-quandles के उदाहरण
बंद नहीं
1
0 0 0
2 1 1
1 9 2
स्व-वितरण नहीं
0 0 1 0
1 1 0 1
2 3 2 2
3 2 3 3
(3◃1)◃2 = 2◃2 = 2
(3◃2)◃(1◃2) = 3◃0 = 3
सही-विभाज्य नहीं
0 2 3 4 1
0 1 2 3 4
3 4 2 2 2
3 3 3 3 3
4 1 1 1 4
0 1 2 3
3 1 2 0
3 1 2 3
0 1 2 3
उदासीन नहीं
1 1 1 1
3 3 3 3
2 2 2 2
0 0 0 0
2 1 0 4 3
3 4 2 0 1
4 2 1 3 0
1 0 3 2 4
0 3 4 1 2