मेरा इलेक्ट्रिक गेराज दरवाजा इस तरह काम करता है:
- दरवाजे को नियंत्रित करने के लिए सिर्फ एक पुश बटन है
- यदि दरवाजा पूरी तरह से बंद है और मैं बटन दबाता हूं, तो दरवाजा खुलने लगता है। इसे पूरी तरह से खुलने में 10 सेकंड का समय लगता है
- यदि दरवाजा पूरी तरह से खुला है और मैं बटन दबाता हूं, तो दरवाजा बंद होने लगता है। पूरी तरह से बंद होने में 10 सेकंड लगते हैं
- यदि दरवाजा खोलने या बंद करने के माध्यम से हिस्सा है और मैंने बटन मारा है, तो दरवाजा बंद हो जाता है और आंशिक रूप से खुला रहता है।
- जब भी दरवाजा चलना बंद हो जाता है, या तो एक खुली या करीबी कार्रवाई के स्वत: पूर्ण होने से, या एक कार्रवाई के माध्यम से बटन भाग को धक्का देकर मैन्युअल रुकावट से, तो तंत्र रिवर्स होगा और अगली कार्रवाई के लिए अपनी दिशा याद रखेगा।
- यदि दरवाजा बंद होने पर बटन को धक्का दिया जाता है, लेकिन आंशिक रूप से खुला है, तो इसके पूरा होने के लिए समय की मात्रा 10 सेकंड का एक अंश होगी, जिस राशि को कार्रवाई को पूरा करने के लिए इसे स्थानांतरित करने की आवश्यकता होती है।
मान लें कि दरवाजा शुरू में पूरी तरह से बंद है।
पूर्णांकों की एक इनपुट सूची दी जाएगी। ये पूर्णांक सेकंड की संख्या हैं जो मैं नियंत्रण बटन के लगातार पुश के बीच प्रतीक्षा करता हूं।
आउटपुट दो चीजें:
- सभी बटन पुश पूरा होते ही दरवाजे की स्थिति को दर्शाने वाला प्रतिशत और दरवाजा स्थिर अवस्था में पहुंच गया है।
%प्रतीक का आउटपुट वैकल्पिक है। - अगले बटन पुश पर दरवाजा किस दिशा में यात्रा करेगा, इसका एक स्पष्ट संकेत। यह
up/down,U/D,+/-,1/0या जो भी आप चुनते हैं , हो सकता है ।
आप मान सकते हैं कि एक खुली या करीबी कार्रवाई को पूरा करने के लिए दरवाजा 10 सेकंड से कम का समय लेता है।
उदाहरण इनपुट:
<empty list> # button was pushed just once
20 # button was pushed twice with 20 seconds between
10
5
20 20
10 10
5 5
1 2 3
8 9 10 11
11 10 9 8 7
उपरोक्त इनपुट के अनुरूप अपेक्षित आउटपुट
100% D
0% U
0% U
50% D
100% D
100% D
0% U
100% D
0% U
20% U
पिछले परीक्षण का काम किया उदाहरण
- दरवाजा बंद होने लगता है। बटन धकेल दिया जाता है
- 11 सेकंड रुकें। दरवाजा पूरी तरह से खुल गया। बटन धकेल दिया जाता है।
- 10 सेकंड प्रतीक्षा करें। दरवाजा पूरी तरह से बंद हो गया। बटन धकेल दिया जाता है।
- 9 सेकंड प्रतीक्षा करें। बटन धकेल दिया जाता है। दरवाजा 90% खुला रहता है।
- 8 सेकंड प्रतीक्षा करें। बटन धकेल दिया जाता है। दरवाजा बंद होने लगता है।
- 7 सेकंड रुकें। बटन धकेल दिया जाता है। दरवाजा 20% खुला है। अगली दिशा होगी।