के एक प्रतिनिधित्व करते हैं मानक चिनाई ईंट के रूप में [__]
(और तथ्य यह है कि शीर्ष खुला है पर ध्यान न दें)। जब इन ईंटों को ढेर कर दिया जाता है तो हर दूसरी परत आधी ईंट से भर जाती है, जैसा कि ईंट निर्माण में होता है:
[__][__][__][__]
[__][__][__][__]
[__][__][__][__]
[__][__][__][__]
इस प्रकार प्रत्येक ईंट में अधिकतम छह पड़ोसी होते हैं और दो ईंटों के लिए सीधे खड़ी रेखा के लिए असंभव है।
मुख्य बिंदु यह है कि इन ईंटों की व्यवस्था नहीं है मोर्टार जाता है , लेकिन केवल गुरुत्वाकर्षण द्वारा एक साथ रखा जाता है। इसलिए यह महत्वपूर्ण है कि संरचना में प्रत्येक ईंट स्थिर है, अन्यथा पूरी संरचना अस्थिर है।
व्यक्तिगत ईंट स्थिर होने के तीन तरीके हो सकते हैं:
- जमीन पर कोई भी ईंट (ईंटों की सबसे निचली पंक्ति) स्थिर है।
कोई भी ईंट जिसके नीचे दो ईंटें हों, वह स्थिर है:
[__] <- this brick is stable [__][__] <- because these bricks hold it up
कोई भी ईंट जिसमें ऊपर और नीचे दोनों तरफ एक ईंट होती है वह स्थिर होती है:
[__] [__] [__] [__] <- these middle bricks are stable [__] [__] because the upper and lower bricks clamp them in [__] [__] [__] [__] <- these middle bricks are NOT stable [__] [__]
इन नियमों से हम देख सकते हैं, उदाहरण के लिए, व्यवस्था
[__][__][__][__]
[__][__][__][__]
[__][__][__][__]
[__][__][__][__]
अस्थिर है क्योंकि शीर्ष दाहिनी ईंट अस्थिर है, जो यह सब लेता है।
एक ईंट संरचना केवल स्थिर है यदि इसकी सभी ईंटें स्थिर हैं।
चुनौती
आपका कार्य एक फ़ंक्शन लिखना है जो एक ईंट संरचना स्ट्रिंग में लेता है और एक सत्य मान देता है यदि संरचना स्थिर है, और अस्थिर मूल्य यदि अस्थिर है। ( सत्य / असत्य परिभाषा )
इनपुट स्ट्रिंग मनमाने ढंग से बड़ी हो सकती है, लेकिन यह हमेशा पात्रों का एक आयताकार ग्रिड होगा, जिसमें रिक्त स्थान भरने वाले स्थान ईंटों से भरे होंगे। वर्ण ग्रिड की चौड़ाई 4 से विभाज्य होगी लेकिन ऊँचाई विषम या सम हो सकती है।
ईंट ग्रिड हमेशा ऊपर और निचले बाएँ ईंट स्थिति के दाईं ओर फैली होती है:
.
.
.
BRK?BRK?BRK?BRK?
BRK?BRK?BRK?BRK?BRK?
BRK?BRK?BRK?BRK?
BRK?BRK?BRK?BRK?BRK? . . .
BRK?BRK?BRK?BRK?
BRK?BRK?BRK?BRK?BRK?
संरचना के आधार पर, प्रत्येक BRK?
या तो एक ईंट का प्रतिनिधित्व करता है ([__]
) या खाली स्थान (4 रिक्त स्थान) का ।
ध्यान दें कि वर्ण ग्रिड आयताकार है यह सुनिश्चित करने के लिए आधा-ईंट गुहा रिक्त स्थान से भरे हुए हैं।
स्कोरिंग
बाइट्स में सबसे छोटा कोड जीतता है।
टिप्पणियाँ
- यदि आप चाहें तो उपयोग कर सकते हैं
.
रिक्त स्थान के स्थान के रूप में । - खाली स्ट्रिंग को स्थिर माना जाता है।
- यदि आपकी भाषा में फ़ंक्शंस नहीं हैं, तो आप एक नामित स्ट्रिंग चर को इनपुट के रूप में उपयोग कर सकते हैं और परिणाम को दूसरे चर पर असाइन कर सकते हैं।
- यदि आपकी भाषा में तार नहीं हैं, तो आप इनपुट के लिए जो भी उचित लगे, कर सकते हैं।
परीक्षण के मामलों
विभिन्न परीक्षण मामलों, खाली लाइनों द्वारा अलग किए गए। .
खाली स्थानों के लिए जगह के बजाय स्पष्टता का उपयोग किया जाता है।
स्थिर:
[__]
..[__]..
[__][__]
........[__]........
......[__][__]......
........[__]........
..[__][__]..
[__][__][__]
..[__][__]..
[__]....[__]
............[__]..
..[__][__][__][__]
[__][__][__][__]..
..[__][__][__][__]
[__][__][__][__]..
..[__]........[__]..
[__][__][__][__][__]
..[__][__][__][__]..
....[__][__][__]....
......[__][__]......
........[__]........
अस्थिर:
..[__]..
........
..[__]..
[__]....
..[__]..
....[__]
..[__][__]..
[__]....[__]
..[__][__]..
[__]....[__]
..[__][__][__][__]
[__][__][__][__]..
..[__][__][__][__]
[__][__][__][__]..
[__][__][__][__][__]
..[__][__][__][__]..
....[__][__][__]....
......[__][__]......
........[__]........
........[__]....
......[__][__]..
....[__][__]....
..[__][__]......
[__][__]........
..[__]..........
(आपको मानसिक रूप से उन पंक्तियों को एक-दूसरे के ऊपर रखना होगा। बिंदु यह है कि आपके नियम ऐसे ढांचे की अनुमति देते हैं जिनके गुरुत्वाकर्षण का केंद्र जमीन के संपर्क से उनके बिंदु से बहुत दूर है। इससे बचने के लिए उन्हें कसने के लिए संभव होना चाहिए। , बिना किसी भौतिकी इंजन की आवश्यकता के, अगर आपको यह पसंद आया।)