मेरे बच्चों के पास खेलने के लिए एक वर्णमाला की चटाई है, कुछ इस तरह से:
महीनों के बाद मैट की टाइलें बेतरतीब ढंग से रखी जाने के बाद, मैं थक गया और चटाई के सभी टाइलों को उनके पृष्ठभूमि के रंगों के अनुसार वर्गों द्वारा रखा गया। इसलिए, यदि अक्षर पृष्ठभूमि रंग का प्रतिनिधित्व करते हैं, तो मुझे इस तरह एक चटाई मिली:
AABBCDDDE
ABBCCCDEE
ABCCCCDDE
AACCCDDEE
AAAACCCCE
AAAAAACCC
इसलिए, रंगों ए, बी, सी, डी और ई के लिए हमेशा एक ही पृष्ठभूमि के रंग के साथ सभी टाइलों को कनेक्ट करने का एक तरीका होता है, जो क्षैतिज या ऊर्ध्वाधर रूप से चटाई में होता है। यही मैं रंगों द्वारा समूहीकृत एक चटाई को ठीक से कहता हूं । आप निम्न तालिका में पिछले उदाहरण के लिए समूह देख सकते हैं:
AA
A
A
AA
AAAA
AAAAAA
BB
BB
B
C
CCC
CCCC
CCC
CCCC
CCC
DDD
D
DD
DD
E
EE
E
EE
E
इसके अलावा, हर रंग के लिए केवल एक समूह है, इसलिए यह मान्य नहीं होगा:
ABA
ABA
क्योंकि रंग A टाइल्स को केवल एक समूह में समूहीकृत नहीं किया जाता है। यह भी मान्य नहीं होगा क्योंकि टाइलें क्षैतिज या लंबवत रूप से कनेक्ट नहीं होती हैं:
AB
BA
चुनौती
मुद्रण योग्य ASCII रेंज में वर्णों के 2-आयामी सरणी को देखते हुए (जब तक दोनों आयामों का आकार 1 के बराबर या अधिक हो, तब तक वर्ग होने की आवश्यकता नहीं है), जांचें कि क्या सरणी रंगों द्वारा ठीक से वर्गीकृत की गई चटाई का प्रतिनिधित्व करती है (सरणी में प्रत्येक अलग वर्ण एक अलग रंग का प्रतिनिधित्व करता है)। इनपुट तब तक किसी भी उचित प्रारूप में हो सकता है जब तक वह वर्णों के 2-आयामी सरणी (2 डी चार सरणी, समान लंबाई के तार के सरणी, और इसी तरह) का प्रतिनिधित्व करता है, और आउटपुट में सच्चाई और गलत मूल्यों की एक जोड़ी होनी चाहिए (0) / 1, 't' / 'f', सही / गलत, जब तक कुछ लौटाया जाता है और रिटर्न मान इनपुट के अनुरूप होते हैं)।
यह कोड-गोल्फ है, इसलिए प्रत्येक भाषा की जीत के लिए सबसे छोटा कार्यक्रम / कार्य / विधि / मेमना हो सकता है!
उदाहरण
A truthy
AB
AB truthy
AB
BA falsey
ABCDE truthy
ABCDC falsey
**::dd22
***:d222
*:::::22 truthy
$$$%%%&&
$$%%&&&&
&&$$$%&& falsey
AABBCDDDE
ABBCCCDEE
ABCCCCDDE
AACCCDDEE
AAAACCCCE
AAAAAACCC truthy
AABB
ABBA
AAAA truthy
AAAB
AAAA
AAAA truthy
मेरी चटाई ठीक से रंगों से समूहीकृत
(मुझे अभी भी उन सीमाओं को ठीक करना है ...)