मेरा पसंदीदा गणितीय अतीत एक आयताकार ग्रिड तैयार करना है, फिर उस ग्रिड में दिखाई देने वाले सभी आयतों का पता लगाना है। यहाँ, इस प्रश्न को लें, और अपने लिए उद्यम करें!
क्या आप आयतों की संख्या गिन सकते हैं?
+-----+-----+-----+-----+
| | | | |
| | | | |
+-----+-----+-----+-----+
| | | | |
| | | | |
+-----+-----+-----+-----+
| | | | |
| | | | |
+-----+-----+-----+-----+
| | | | |
| | | | |
+-----+-----+-----+-----+
इस 4 x 4 minichess बोर्ड के लिए आयतों की कुल संख्या बिल्कुल है
100
क्या आप सही थे?
संबंधित गणित: 8 × 8 बिसात पर कितने आयत हैं?
चुनौती
सबसे छोटा फ़ंक्शन / प्रोग्राम लिखें जो एक गैर-टॉरॉइडल ग्रिड / छवि पर दिखाई देने वाले आयतों की कुल संख्या को गिनता है ।
संबंधित चुनौतियां: अद्वितीय आयतें गिनें! , एक 2D बाइट सरणी में आयतों की संख्या का पता लगाएं ।
इनपुट प्रारूप
आपका फ़ंक्शन या प्रोग्राम टेक्स्ट-आधारित इनपुट या ग्राफ़िकल इनपुट के साथ काम करना चुन सकता है।
पाठ-आधारित इनपुट
ग्रिड एक हो जाएगा मीटर -by- n ( मीटर पंक्तियाँ, एन कॉलम) ASCII निम्न वर्णों से मिलकर ग्रिड:
- रिक्त स्थान,
-
एक क्षैतिज रेखा खंड के कुछ हिस्सों के लिए,|
एक ऊर्ध्वाधर रेखा खंड के कुछ हिस्सों के लिए, और+
कोनों के लिए।
आप इस ASCII ग्रिड को अपने प्रोग्राम / फ़ंक्शन के इनपुट / तर्क के रूप में पेश कर सकते हैं
- लाइन-ब्रेक द्वारा सीमांकित एक भी स्ट्रिंग,
- एक स्ट्रिंग के बिना newlines लेकिन एक या दो पूर्णांक के साथ ग्रिड के आयाम एन्कोडिंग, या
- तार की एक सरणी।
नोट: पाठ-आधारित इनपुट में कम से कम 1 पंक्ति और कम से कम 1 कॉलम होता है।
ग्राफिकल इनपुट
वैकल्पिक रूप से, ग्रिड 5 * n पिक्सेल चौड़े और 5 * m पिक्सेल उच्च के सफेद और सफेद PNG चित्र के रूप में एन्कोड किए गए हैं । प्रत्येक छवि में 5 px * 5 px ब्लॉक होते हैं जो ASCII इनपुट के अनुरूप होते हैं :
- रिक्त स्थान को सफेद ब्लॉकों में बदल दिया जाता है। इन ब्लॉकों को व्हाट्सएप ब्लॉक कहा जाता है ।
- लाइन खंडों और कोनों को गैर- सफेद ब्लॉक में परिवर्तित किया जाता है। ऐसे ब्लॉकों का केंद्र पिक्सेल काला है।
- संपादित करें: यदि दो कोनों (एएससीआईआई इनपुट में) एक लाइन सेगमेंट से जुड़े हैं, तो संबंधित ब्लॉक केंद्र (ग्राफिकल इनपुट में) एक काली रेखा से भी जुड़े होने चाहिए।
इसका मतलब है कि प्रत्येक ब्लॉक को केवल (बड़ी छवि के लिए यहां क्लिक करें) से चुना जा सकता है ।
नोट: नीली सीमाएँ केवल चित्रण प्रयोजनों के लिए हैं। ग्राफिकल इनपुट कम से कम 5 px चौड़ा और 5 px ऊंचा होता है। आप चित्रमय इनपुट को किसी भी मोनोक्रोम छवि, संभावित रूप से अन्य छवि फ़ाइल स्वरूपों में बदल सकते हैं)। यदि आप कनवर्ट करना चुनते हैं, तो कृपया उत्तर में निर्दिष्ट करें। धर्मांतरण का कोई दंड नहीं है।
आउटपुट स्वरूप
यदि आप कोई प्रोग्राम लिख रहे हैं, तो उसे इनपुट में आयतों की कुल संख्या को दर्शाने वाला एक गैर-नकारात्मक नंबर दिखाना होगा।
यदि आप एक फ़ंक्शन लिख रहे हैं, तो इसे इनपुट में आयतों की कुल संख्या को इंगित करते हुए एक गैर-नकारात्मक संख्या भी लौटानी चाहिए।
उदाहरण मामलों
केस 1, ग्राफिक: ( 30 px * 30 px), ASCII: ( 6 पंक्तियाँ, 6 कॉल)
+--+
| |
| ++-+
+-++ |
| |
+--+
अपेक्षित उत्पादन: 3
केस 2, ग्राफिक: ( 20 px * 20 px), ASCII: ( 4 पंक्तियाँ, 4 कॉल)
++-+
|+++
+++|
+-++
अपेक्षित उत्पादन: 6
केस 3, ग्राफिक: ( 55 px * 40 px), ASCII: ( 8 पंक्तियाँ, 11 बछड़े)
+++--+
+-+++ |
| | ++--+
+--+--++ ++
| ||
| ||
++ +--++
++
अपेक्षित उत्पादन: 9
केस 4, ग्राफिक: ( 120 px * 65 px), ASCII: ( 13 पंक्तियाँ, 24 कोल्स)
+--+--+ +--+ +--+ +--+
| | | | | | | | |
+--+--+ | | | | | |
| | | +--+--+--+--+--+
+--+--+ | | | |
| | | | ++
+-+-+-+-+ +--+ +--+ ++
| | | | |
+-+-+-+-+-+-+-+-+-+-+-+
| | | | | | | | | | | |
+-+-+-+-+-+-+-+-+-+-+-+
| | | | | | | | | | | |
+-+-+-+-+-+-+-+-+-+-+-+
अपेक्षित उत्पादन: 243
प्रकरण 5, ग्राफिक: ( 5 पिक्सल * 5 । पिक्सल हाँ, यह है वहाँ!), ASCII: बस एक जगह।
अपेक्षित उत्पादन: 0
केस 6, ग्राफिक: ( 35 px * 20 px), ASCII: ( 4 पंक्तियाँ, 7 कॉल)
+--+--+
|++|++|
|++|++|
+--+--+
अपेक्षित उत्पादन: 5
मान्यताओं
जीवन को आसान बनाने के लिए, आपको गारंटी दी जाती है कि:
- किया जा रहा गैर toroidal , ग्रिड या तो क्षैतिज या अनुलंब रूप लपेट नहीं करता है।
- कोई ढीला छोर नहीं है, उदाहरण के लिए
+---
या+- -+
। सभी लाइन खंडों के दो छोर हैं। - उस समय मिलने वाली दो रेखाएं
+
उस बिंदु पर एक दूसरे को प्रतिच्छेद करती हैं। - आपको अमान्य इनपुट के बारे में चिंता करने की आवश्यकता नहीं है।
मानक खामियों के खिलाफ नियम लागू होते हैं। कृपया वर्गों को आयतों के रूप में मानें। वैकल्पिक रूप से, आप ग्रिड की प्रत्येक पंक्ति पर अनुगामी रिक्त स्थान को हटा सकते हैं।
यह कोड-गोल्फ है , इसलिए अपनी प्रविष्टि को यथासंभव छोटा बनाएं। पाठ-आधारित और चित्रमय समाधान एक साथ प्रतिस्पर्धा करेंगे।