मेरे पास दो बटन वाली एक पुरानी पुरानी अलार्म घड़ी है: hourऔर minute। hourबटन एक सेट अलार्म के घंटे की वृद्धि, और minuteवेतन वृद्धि एक सेट अलार्म के मिनट का समय है। हालांकि, कुछ स्मार्ट डिजाइनरों ने महसूस किया कि एक ही समय में दोनों बटन दबाने का एक अर्थ होना चाहिए, और यह तय किया कि दबाने hourऔर minuteएक साथ अलार्म सेट होने का कारण होगा 12:00 am
/ 0:00
। आपका कार्य इस व्यवहार का अनुकरण करना है।
कार्य
प्रारंभ समय और बटन राज्यों के अनुक्रम को देखते हुए, अंतिम समय का पता लगाएं।
प्रारंभ समय से शुरू, में से प्रत्येक घटना के लिए घंटे बढ़ाने के (1,0)
, में से प्रत्येक घटना के लिए मिनट के अंतराल (0,1)
, और करने के लिए समय निर्धारित 0:00
से प्रत्येक घटना के लिए (1,1)
। राज्यों (0,0)
को नजरअंदाज किया जाना चाहिए क्योंकि वे न तो बटन दबाए जाने के अनुरूप हैं।
मिनट और घंटों को जोड़ते समय, यदि मिनट / घंटा अधिकतम से ऊपर चला जाता है, तो इसे सेट करें 0
, यानी एक मिनट के मूल्य को बढ़ाने के लिए मिनट का मान 59
सेट करना चाहिए 0
और एक घंटे के मूल्य को 23
बढ़ाकर घंटे के मूल्य को निर्धारित करना चाहिए 0
। अपनी सीमा से अधिक मिनट / घंटा मान बढ़ाने से दूसरे मूल्य पर कोई असर नहीं पड़ता है, उदाहरण के लिए 10:59
पैदावार के मिनट में वृद्धि 10:00
, नहीं 11:00
।
उदाहरण
इनपुट समय 13:58
और चरणों को देखते हुए [(0,1),(0,1),(0,1),(0,0),(1,1),(1,0)]
,
(0,1)
। यह minuteदबाए जाने से मेल खाती है। समय है13:59
।(0,1)
। यह minuteदबाए जाने से मेल खाती है। समय है13:00
।(0,1)
। यह minuteदबाए जाने से मेल खाती है। समय है13:01
।(0,0)
। यह न तो बटन दबाया जा रहा है से मेल खाती है। समय, अप्रभावित, अब है13:01
(1,1)
। यह दोनों बटन दबाए जाने से मेल खाती है। समय है0:00
।(1,0)
यह hourदबाए जाने से मेल खाती है। समय है1:00
।
चूंकि हम 1:00
इसके साथ समाप्त होते हैं , यह आउटपुट है।
आई / ओ
इनपुट में एक समय और बटन राज्यों का एक क्रम शामिल होगा। आउटपुट एकल समय है।
इनपुट समय और आउटपुट समय हो सकता है
- एक की 2-टपल
(hour, minute)
या(minute, hour)
में24
इस तरह के रूप घंटे समय(13, 30)
(hour
से पर्वतमाला0
के लिए23
औरminute
से पर्वतमाला0
के लिए59
) - पिछले के रूप में, लेकिन में एक ही
12
घंटे समय और एक बूलियनam
/pm
(स्विचhour
से पर्वतमाला0
के लिए11
या12
और1
करने के लिए11
के साथminute
से0
करने के लिए59
)। 0:00
810 के बाद से मिनट की संख्या (0 से 1439 तक, समावेशी)- कोई अन्य प्रारूप जो समान जानकारी को एनकोड करता है
बटन राज्यों का क्रम बूलियन 2-ट्यूपल्स की सूची का एक उदाहरण है, उदाहरण के लिए:
- tuples की एक सूची:
[(0,1),(1,0),(0,0),(1,1)]
- एक अंतरिक्ष-सीमांकित स्ट्रिंग:
"01 10 00 11"
- एक स्ट्रिंग:
"01100011"
- चतुर्भुज में:
[1,2,0,3]
- एक पूर्णांक में परिवर्तित:
99
- कोई अन्य प्रारूप जो समान जानकारी को एनकोड करता है
परीक्षण के मामलों
time,steps -> output
06:49,[(0, 1)] -> 06:50
12:23,[(1, 0)] -> 13:23
02:23,[(0, 1), (1, 0)] -> 03:24
21:40,[(0, 1), (0, 1), (0, 1), (0, 1)] -> 21:44
13:10,[(0, 1), (0, 1), (0, 1), (0, 1), (1, 0), (1, 1), (0, 1), (0, 1)] -> 00:02
21:33,[(1, 0), (0, 1), (1, 0), (0, 1)] -> 23:35
14:21,[(0, 1), (0, 1), (0, 1)] -> 14:24
02:39,[(0, 0), (0, 1)] -> 02:40
16:07,[(0, 1), (0, 1), (0, 1), (0, 1), (1, 0), (1, 0), (0, 1), (0, 1), (1, 0), (0, 1), (0, 1), (0, 1)] -> 19:16
17:55,[(0, 1), (1, 0), (0, 1)] -> 18:57
15:55,[(1, 0), (1, 0), (1, 0), (0, 1), (0, 1), (0, 1), (1, 0), (1, 0), (0, 1), (1, 0), (1, 0), (0, 1), (1, 0)] -> 23:00
22:11,[(0, 1), (1, 0), (0, 1), (0, 1), (0, 1), (0, 1), (0, 1), (1, 0), (0, 1), (0, 1)] -> 00:19
03:58,[(1, 0), (0, 0), (0, 0), (0, 1), (0, 1), (1, 0), (1, 0), (0, 1), (0, 1), (1, 0), (0, 1)] -> 07:03
13:02,[(0, 1), (1, 0), (0, 1), (1, 0), (0, 1), (0, 1), (1, 0)] -> 16:06
04:37,[(1, 0), (0, 1), (0, 1), (0, 1), (0, 1), (0, 1), (0, 1), (0, 1), (0, 1), (1, 0), (0, 1), (1, 0), (0, 1), (1, 0)] -> 08:47
00:01,[(0, 1), (1, 0), (1, 0), (0, 1), (0, 1), (0, 1), (1, 0), (0, 1), (0, 1), (0, 1)] -> 03:08
02:58,[(1, 0), (1, 0), (0, 1)] -> 04:59
01:43,[(0, 1), (0, 1), (1, 0), (0, 1), (0, 1), (0, 1), (0, 1), (0, 1), (1, 0), (0, 1), (1, 0), (0, 1)] -> 04:52
07:54,[(1, 0), (0, 1), (1, 0), (1, 0), (1, 1)] -> 00:00
09:33,[(0, 1), (0, 1), (0, 1), (1, 0), (0, 1), (0, 1)] -> 10:38
09:01,[(0, 1), (0, 1)] -> 09:03
19:04,[(0, 1), (1, 0), (0, 1), (1, 0)] -> 21:06
11:17,[(0, 1), (1, 0), (0, 1), (0, 1), (1, 0), (0, 1), (0, 1), (1, 1), (0, 1), (0, 1)] -> 00:02
19:32,[(0, 1), (1, 0), (0, 1), (1, 0), (1, 0), (1, 0)] -> 23:34
17:31,[(0, 1), (0, 1), (0, 1), (1, 0), (0, 1), (1, 0), (0, 1), (0, 0), (1, 1), (0, 1)] -> 00:01
06:46,[(0, 1), (0, 1), (0, 1), (0, 1), (1, 0), (0, 1), (0, 1), (0, 1), (0, 1), (0, 1), (0, 1), (1, 0), (0, 1), (0, 1), (1, 0), (1, 0), (0, 1), (0, 1), (0, 1), (1, 0), (1, 0), (0, 1), (0, 1), (0, 1), (1, 0), (0, 1), (1, 0), (0, 1), (0, 1), (1, 0), (0, 1), (0, 1), (0, 1), (1, 0), (1, 0), (0, 1), (1, 0), (0, 1), (0, 1), (0, 1), (0, 1), (0, 1)] -> 18:16
[[initialHour, initialMinute], [hourPressed1, minuitePressed1], [hourPressed2, minuitePressed2], ...]
?