ฉันมีนาฬิกาปลุกโง่เก่าที่มีสองปุ่ม: และhour ปุ่มเพิ่มชั่วโมงของการปลุกชุดและเพิ่มขึ้นในเวลานาทีของการปลุกชุด แต่บางออกแบบสมาร์ทตระหนักว่าการกดปุ่มทั้งสองในเวลาเดียวกันควรจะมีความหมายและตัดสินใจว่าการกดและพร้อมกันจะทำให้เกิดการเตือนภัยที่จะตั้งค่าให้/ งานของคุณคือการจำลองพฤติกรรมนี้minutehourminutehourminute12:00 am0:00
งาน
ให้เวลาเริ่มต้นและลำดับของปุ่มสถานะให้คิดเวลาสิ้นสุด
เริ่มต้นจากเวลาเริ่มต้นเพิ่มชั่วโมงสำหรับการเกิดขึ้นของแต่ละคน(1,0), เพิ่มนาทีสำหรับการเกิดขึ้นของแต่ละ(0,1)และตั้งเวลาในการสำหรับการเกิดขึ้นของแต่ละ0:00 (1,1)รัฐ(0,0)ควรละเลยเพราะพวกเขาสอดคล้องกับปุ่มไม่ถูกกด
เมื่อมีการเพิ่มนาทีและชั่วโมงถ้านาที / ชั่วโมงไปข้างต้นสูงสุดตั้งค่าให้0เช่นการเพิ่มค่านาที59ควรตั้งค่านาทีไป0และการเพิ่มค่าชั่วโมงควรตั้งค่าชั่วโมง23 0การเพิ่มค่านาที / ชั่วโมงเหนือขีด จำกัด ของพวกเขาไม่ส่งผลกระทบต่อค่าอื่น ๆ เช่นการเพิ่มนาทีของ10:59อัตราผลตอบแทนไม่ได้10:0011: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มันคือผลลัพธ์
I / O
อินพุตจะประกอบด้วยเวลาและลำดับสถานะของปุ่ม เอาท์พุทเป็นครั้งเดียว
เวลาอินพุตและเวลาเอาต์พุตอาจเป็น
- 2 tuple
(hour, minute)หรือ(minute, hour)ใน24เวลาของคุณเช่น(13, 30)(hourช่วงจาก0ถึง23และminuteช่วงจาก0ถึง59) - เช่นเดียวกับก่อนหน้านี้ แต่ใน
12เวลา -hour และบูลีน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
[h, m]รูปแบบด้วยขั้นตอน Quaternary
[[initialHour, initialMinute], [hourPressed1, minuitePressed1], [hourPressed2, minuitePressed2], ...]?