हाल ही में 2-आयामी डेटा के बारे में चुनौतियों के लिए हेक्सागोनल ग्रिड एक काफी लोकप्रिय मोड़ बन गया है। हालांकि, ऐसा लगता है कि समान रूप से दिलचस्प त्रिकोणीय ग्रिड को अब तक काफी हद तक उपेक्षित किया गया है। मैं एक साधारण चुनौती के साथ इसे सुधारना चाहता हूं।
सबसे पहले, हम एक त्रिकोणीय ग्रिड का प्रतिनिधित्व कैसे करते हैं? निम्नलिखित उदाहरण पर विचार करें (अभी के लिए सही आरेख को अनदेखा करें):
कोशिकाएँ नियमित रूप से एक नियमित ग्रिड पर गिरती हैं (एक नियमित ग्रिड का अंतर केवल उन कोशिकाओं को माना जाता है):
1234567
89abcde
fghijkl
mnopqrs
अब, जैसा कि सही आरेख दिखाता है, त्रिकोणीय ग्रिड में तीन मुख्य कुल्हाड़ी होती हैं: एक क्षैतिज और दो विकर्ण।
ASCII ग्रिड में इन पर प्रकाश डालना:
AVAVAVA
VAabcAV
fVAiAVl
mnVAVrs
चुनौती
आपको एक आयताकार स्ट्रिंग दिया जाता है जो त्रिकोणीय ग्रिड का प्रतिनिधित्व करता है (जहां शीर्ष बाएं कोने एक ऊपर की ओर इंगित करने वाला त्रिकोण है)। अधिकांश कोशिकाएं होंगी .
, लेकिन वास्तव में दो कोशिकाएं होंगी #
, जैसे:
....#
.#...
.....
निर्धारित करें कि क्या दोनों #
ग्रिड के तीन अक्षों में से किसी एक के साथ संरेखित हैं (अर्थात क्या वे ऊपर दिए गए तीन दिशाओं में से किसी एक पंक्ति में झूठ बोलते हैं)। इस उदाहरण के लिए, उत्तर "नहीं" है।
आप STDIN (या निकटतम विकल्प), कमांड-लाइन तर्क या फ़ंक्शन तर्क के माध्यम से इनपुट ले रहे हैं और STDOUT (या निकटतम विकल्प), फ़ंक्शन रिटर्न मान या फ़ंक्शन (आउट) पैरामीटर के माध्यम से परिणाम लिख सकते हैं।
इनपुट लाइनफीड्स या किसी अन्य सुविधाजनक चरित्र या स्ट्रिंग्स की सूची द्वारा सीमांकित एक स्ट्रिंग हो सकता है। आप किसी भी दो (लगातार) मुद्रण योग्य ASCII वर्णों का उपयोग कर सकते हैं .
और के स्थान पर #
।
आउटपुट एक सत्य मूल्य होना चाहिए अगर हाइलाइट की गई सेल को संरेखित किया जाता है और एक मिथ्या मूल्य अन्यथा।
मानक कोड-गोल्फ नियम लागू होते हैं।
परीक्षण के मामलों
सत्य ग्रिड:
.#..#.
#
#
...........
...#.......
...........
...........
...........
.......#...
...........
...........
.......#...
...........
...........
...........
...#.......
...........
.#.........
...........
...........
...........
...........
.......#...
...........
...........
...#.......
...........
...........
...........
...........
.......#...
.........#.
...........
...........
...........
...........
...#.......
...........
...........
.......#...
...........
...........
...........
...........
...#.......
...........
.#.....#...
...........
...........
...........
मिथ्या ग्रिड:
#.....
.....#
.....#
#.....
...#.......
...........
...........
...........
...........
.......#...
...........
...........
...#.......
...........
...........
...........
...........
.........#.
.......#...
...........
...........
...........
...........
...#.......
...........
...........
.......#...
...........
...........
...........
...........
.#.........