आज पुरीम है, जिस पर एक रिवाज हैमंटासचेन (एकवचन: हैमंटासच ) भरने के साथ त्रिकोण के आकार की कुकीज़ को देना है । एक और रिवाज है जमकर पीना।
मैं सबसे परफेक्ट बेकर नहीं हूँ .... मेरे पास बाहर जाने के लिए बहुत सारे अनियमित आकार के हैमन्तशेन हैं और उन्हें देने के लिए बहुत सारे दोस्त हैं! अगर मैंने आपको अपनी कुकीज़ की एक तस्वीर भेजी है, तो क्या आप मुझे बता सकते हैं कि मेरे पास कितने आकार और भरने हैं? लेकिन क्योंकि यह पुरीम है और मैं बहुत ज्यादा कोड पढ़ने के लिए नशे में हूं, इसलिए इसे उतना ही छोटा कोड होना चाहिए जितना कि आप बना सकते हैं।
परिभाषाएं
आकार
एक हैमंटेश कोई भी आकार हो सकता है । सबसे छोटा हैमन्त्स आकार 1 है और इनकी तरह दिखता है:
/\ --
-- \/
कभी-कभी, कई हैमंटासचेन ओवरलैप कर सकते हैं । नीचे का आकार दो हैमन्तशेन (एक आकार 1, एक आकार 2) के रूप में गिना जाता है:
/\
/\ \
----
कुछ हैमन्तशेन में भरना है । यह एक चरित्र के साथ अंदर सभी व्हाट्सएप को भरने के द्वारा इंगित किया जाएगा। ध्यान दें कि आकार 1 हैमंटासन में फिलिंग नहीं हो सकती है।
हम भरने और आकार के आधार पर हैमन्तशेन का नाम देंगे। चलो प्रारूप का उपयोग करें <filling> <size>
और यदि अपूर्ण है, - <size>
(आप इसके बजाय एक स्थान का उपयोग कर सकते हैं -
, लेकिन मार्कडाउन ऐसा नहीं करता है)।
यहाँ एक . 2
, एक . 4
, और एक हैं - 3
:
/\
/./\
---- /./ \
\../ /./ \
\/ --------
ये एक @ 3
, . 2
और एक हैं - 4
:
/\
/ /\
/\ / /@@\
/..\ / /@@@@\
---- --------
यहाँ कुछ और मुश्किल है। देखें कि & 2
ओवरलैपिंग से तिरछा होने के कारण आपकी अपेक्षा से कम फिलिंग कैसे हुई है - 3
? यह एक - 1
, & 2
एक - 3
और एक है & 4
:
--------
\ \/&/
\ /\/
\/&/
\/
इनपुट
आपको एक पाठ फ़ाइल या हैमंटासचेन का एक स्ट्रिंग (वैकल्पिक अनुगामी न्यूलाइन और वैकल्पिक रूप से गद्देदार अनुरेखण व्हाट्सएप भी दिया जाएगा) दिया जाएगा।
सीमाएं
- आप स्ट्रिंग को वैध होने की उम्मीद कर सकते हैं - अर्थात, प्रत्येक गैर-व्हाट्सएप चरित्र एक स्वादिष्ट रूप से मीठे हैमन्तशेक (आटा बर्बाद क्यों?) में योगदान देता है।
- आप यह भी उम्मीद कर सकते हैं कि यह ठीक से भरा हुआ है या नहीं - अर्थात, प्रत्येक हैमंटशेक यह पूरी तरह से एक सुसंगत ASCII चरित्र - ASCII 32 के साथ भरा हुआ, या कुछ भी 32..127 भरा (छोड़कर
/
,\
और-
) के लिए होगा। - इन हैमन्तशेन को 3-स्थान में नहीं रखा जाता है। सभी
/
और\
दिखाई जाएगी।-
वह सब जो अवरुद्ध नहीं है/
और\
दिखाई देगा। भरना बहुत आखिरी आता है। - सभी हैमन्तशेन में कम से कम आधी क्षैतिज रेखा (गोलाई में) दिखाई देगी ।
- भरने का कोई भी सन्निहित ब्लॉक केवल सबसे छोटे हैमन्ताश को भरता है जो इसे घेरता है।
उत्पादन
उपरोक्त सभी मानदंडों को पूरा करते हुए पाया जा सकता है कि सभी हैमन्तशेन के "नामों" की सूची लौटाएँ। आउटपुट आपको जो भी रूप में हो सकता है (एक स्ट्रिंग, एक हैश, स्टडआउट, आदि) में हो सकता है।
परीक्षण के मामलों
टेस्ट केस # 1
इनपुट # 1:
/\
/ /\
/\ / /@@\
/..\ / /@@@@\
---- --------
/\
/**\
/*/\*\
/*/..\*\
--------
आउटपुट # 1:
. 2
. 2
- 4
@ 3
* 4
टेस्ट केस # 2
इनपुट # 2:
/\----
/\/\*\/
/ /\d\/
------
आउटपुट # 2:
- 3
- 2
d 2
- 1
* 2
- 1
टेस्ट # 3
इनपुट # 3:
----
\/\/
/\/\ /\
---- /::\
----
आउटपुट # 3:
- 1
- 1
- 2
- 1
- 1
- 2
: 2
टेस्ट # 4
इनपुट # 4:
/\/\
/ /\$\
-/--/\\
--/--\
/xxx/\
/xxx/##\
---/----\
/ \
--------
आउटपुट # 4:
$ 2
x 4
- 3
- 2
- 4
- 1
- 1
# 2
अवैध टेस्ट केस # 5
इनपुट:
/\
\/
आउटपुट:
आपको इसे संभालने की आवश्यकता नहीं है।
/
और \
, और -
हमेशा ट्रम्प फिलिंग करेंगे।
(1,0)
, बंद हैं +1
। फिर भी, मुझे पता है कि आपका क्या मतलब है, और मैं असहमत हूं। ऐसा क्या संकेत है जो दो ऊपरी एस के शीर्ष दाएं और बाएं का (2, 2)
शीर्ष केंद्र है, - 2
न कि केवल शीर्ष पर - 1
? कोई भी ऐसा नहीं जिसे मैं देख सकूं। और यही तर्क लागू होता है (3, 2)
। जब तक आप अधिकतम संभव हैमन्तशेन को मानने के लिए एक नियम नहीं जोड़ना चाहते ...