আমার কাছে দুটি বোতামযুক্ত একটি বোকা পুরানো অ্যালার্ম ঘড়ি: 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-tuple
(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:00810 (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], ...]?