ฉันมีนาฬิกาปลุกโง่เก่าที่มีสองปุ่ม: และhour ปุ่มเพิ่มชั่วโมงของการปลุกชุดและเพิ่มขึ้นในเวลานาทีของการปลุกชุด แต่บางออกแบบสมาร์ทตระหนักว่าการกดปุ่มทั้งสองในเวลาเดียวกันควรจะมีความหมายและตัดสินใจว่าการกดและพร้อมกันจะทำให้เกิดการเตือนภัยที่จะตั้งค่าให้/ งานของคุณคือการจำลองพฤติกรรมนี้minutehourminutehourminute12: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
มันคือผลลัพธ์
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], ...]
?