वर्तमान में मेरे काम पर हम एक नई इमारत में चले गए। यह कला का राज्य माना जाता है और इसमें स्वचालित रोशनी, स्वचालित रोल-डाउन शटर, और अब इस शहर में सबसे अधिक पर्यावरण के अनुकूल इमारत के रूप में जाना जाता है।
हालाँकि, यह वास्तव में अच्छी तरह से काम नहीं करता है .. रोल-डाउन शटर कभी-कभी बादल के दिनों और ऊपर नीचे जाते हैं जब सूरज चमकने लगता है, और रोशनी कभी-कभी बारी बारी से और हर 5-10 पर बारी-बारी से डिस्को प्रभाव का कारण बनती है मिनट। इसके अलावा, हमारे पास इन रोल-डाउन शटर को नियंत्रित करने का कोई मैनुअल तरीका नहीं है, न ही तापमान, लेकिन हमारे पास रोशनी के लिए रिमोट नहीं है।
हालांकि ये निर्देश बिना किसी निर्देश पुस्तिका के आए और 20 बटन से कम के सभी प्रकार के सामानों को छोड़कर जो आप चाहते हैं, को छोड़कर।
PS: मैंने यह चुनौती 1.5 महीने पहले सैंडबॉक्स में लिखी थी। वर्तमान में हम, थोड़े, जानते हैं कि कैसे काम करता है ..
इस इमारत के बारे में एक बड़ा फायदा, यह 30+ डिग्री सेल्सीस से बाहर है, लेकिन इसके अंदर हर समय एक ही 21 कमरे का तापमान रहता है।
तो, यह परिचय था, और रोशनी के लिए रिमोट कंट्रोल ने इस चुनौती को प्रेरित किया।
चुनौती:
मान लें कि हमारे पास शुरू में एक दीपक है:
L
फिर हम सभी प्रकार के बटन धक्का देते हैं और बाद में दीपक की स्थिति का उत्पादन करते हैं।
हम दीपक के लिए रिमोट कंट्रोल के विभिन्न कार्यों के लिए निम्नलिखित नंबरों का उपयोग करते हैं। जब उस संख्या के सामने माइनस सिंबल होता है, तो हम इसके विपरीत करते हैं।
1= पर;-1= बंद।2= शक्ति में 25% की वृद्धि;-2= कमी (मंद) शक्ति 25%।3= 50% तक फैला हुआ;-3= कमी 50% तक फैल गई।4= प्रकाश के प्रकार को टॉगल करना।
तो, यह सब बहुत अस्पष्ट है, तो चलिए गहराई में जाते हैं कि प्रत्येक चीज़ का क्या अर्थ है:
तो, -1(OFF) बहुत स्पष्ट है, और 1प्रारंभिक ON-State (50% के लिए 2और 50% 3) के लिए जाएगा:
//
//
L ====
\\
\\
2और -2प्रकाश कितनी दूर यात्रा करता है ( ==प्रत्येक 25% के लिए जोड़ा जाता है):
0% (equal to a light bulb that is OFF)
L
25%
L ==
50%
L ====
75%
L ======
100%
L ========
3और -3प्रकाश कितनी दूर तक फैला है:
0%:
L ====
50%:
//
//
L ====
\\
\\
100%:
|| //
||//
L ====
||\\
|| \\
(नोट: जब 2और 3दोनों 100% पर हैं, तो आपके पास यह अवस्था होगी:
|| //
|| //
|| //
||//
L ========
||\\
|| \\
|| \\
|| \\
4 प्रकाश के प्रकार को टॉगल करना है।
Default:
//
L ==
\\
After toggling (note the single space before '/' instead of two):
/
L --
\
इनपुट:
आपको संभावित बटन-प्रेस वाला एक इनपुट प्राप्त होगा। उदाहरण के लिए:
12-34
आउटपुट:
इनपुट के सभी बटन उप-अनुक्रमिक दबाए जाने के बाद प्रकाश लैंप की स्थिति। तो ऊपर दिए गए उदाहरण इनपुट के साथ, हमारे पास निम्न आउटपुट हैं:
L ------
चुनौती नियम:
- इनपुट में केवल
1234-(और-पहले कभी नहीं4) शामिल है। - आप कभी भी 0% से नीचे या 100% से ऊपर नहीं जा सकते हैं। यदि इन सीमाओं से परे कोई संख्या बढ़ती / घटती है तो आप इसे अनदेखा कर सकते हैं।
- जब दीपक बंद हो जाता है, तो आप किसी भी कार्रवाई को अनदेखा कर सकते हैं और जब फिर से चालू किया जाता है तो यह प्रारंभिक ओएन-स्टेट (दोनों
2और3, और डिफ़ॉल्ट4) के लिए 50% पर वापस सेट हो जाता है । उदाहरण के लिए:12-1-341बस ऊपर उल्लेखित प्रारंभिक ओएन-स्टेट प्रिंट करेगा। (टीआईपी: आप1इनपुट के अंतिम से पहले सब कुछ अनदेखा कर सकते हैं - छोड़कर-1।) - प्रकाश की लंबाई या एक एकल अनुगामी नई रेखा के बराबर रिक्त स्थान अनुगामी है। हालांकि अतिरिक्त अनावश्यक नई लाइनें जोड़ना नहीं है।
- आपको एकल स्ट्रिंग के बजाय पूर्णांक की सूची के रूप में इनपुट लेने की अनुमति है। तो इसके बजाय
12-34, आप[1,2,-3,4]इनपुट के रूप में हो सकते हैं ।
सामान्य नियम:
- यह कोड-गोल्फ है , इसलिए बाइट्स जीत में सबसे छोटा जवाब है।
कोड-गोल्फ भाषाओं को गैर-कोडगॉल्फिंग भाषाओं के साथ उत्तर पोस्ट करने से हतोत्साहित न करें। 'किसी भी' प्रोग्रामिंग भाषा के लिए यथासंभव संक्षिप्त उत्तर के साथ आने का प्रयास करें। - मानक नियम आपके उत्तर के लिए लागू होते हैं , इसलिए आपको उचित पैरामीटर, पूर्ण कार्यक्रमों के साथ STDIN / STDOUT, फ़ंक्शन / विधि का उपयोग करने की अनुमति है। तुम्हारा कॉल।
- डिफ़ॉल्ट लूपोल्स वर्जित हैं।
- यदि संभव हो, तो कृपया अपने कोड के लिए एक परीक्षण के साथ एक लिंक जोड़ें।
- इसके अलावा, यदि आवश्यक हो तो एक स्पष्टीकरण जोड़ें।
परीक्षण के मामलों:
12-34
L ------
12-1-341
//
//
L ====
\\
\\
14-3224333-2
|| //
|| //
||//
L ======
||\\
|| \\
|| \\
142-1-314-3-322
L --------
1324-2-3
/
/
L ----
\
\
134
| /
|/
L ----
|\
| \
1-2-2-214-3-3-3
L ----
4)। पूछने के लिए धन्यवाद।
1दबाया जाता है, तो क्या पैरामीटर रीसेट होते हैं?
134?