Đồng hồ báo thức của tôi
Tôi là người Mỹ và đồng hồ báo thức (kỹ thuật số) của tôi cũng vậy. Để đặt báo thức, nó bắt đầu tại thời điểm trước đó. Nhấn nút giờ sẽ di chuyển nó lên một giờ và nhấn nút phút sẽ di chuyển nó lên một phút. Nhấn cả hai nút cùng lúc sẽ đặt lại vào nửa đêm (12:00 sáng) và được tính là hai lần nhấn nút.
Khi số giờ vượt quá giới hạn của chúng (12), nó sẽ đặt lại thành 1 và bật đèn AM / PM. Khi số phút vượt quá giới hạn của chúng (59), chúng đặt lại về 0, mà không ảnh hưởng đến giờ.
Nhiệm vụ
Nhiệm vụ của bạn là, đưa ra thời gian bắt đầu và thời gian mục tiêu, để xuất số lần nhấn nút tối ưu cần thiết để đặt báo thức của tôi theo thời gian đích.
Bạn có thể lấy đầu vào ở bất kỳ định dạng nào phù hợp với bạn nhất. Dữ liệu duy nhất mà chương trình của bạn cần là giờ và phút cho cả hai đầu vào. Điều đó có nghĩa là, ví dụ, bạn có thể lấy dữ liệu dưới dạng mili giây kể từ epoch và trích xuất giờ và phút, nhưng bạn không thể mã hóa bất cứ điều gì vào năm, tháng, giây, v.v. "Thời gian quân sự" (hoặc thời gian thường xuyên cho hầu hết thế giới), nhưng điều đó không thay đổi cách đồng hồ của tôi hoạt động.
Ví dụ
1:15 pm -> 2:30 am
Bạn có thể nhấn cả hai nút để đặt lại thành 12:00 sáng, sau đó tăng lên 2:30 sáng, đó sẽ là 2+2+30 = 34
nhấn nút. Bạn cũng có thể tăng lên 2:30 sáng, đó sẽ là 13+15 = 28
nhấn nút. Do đó, đầu ra của bạn là 28
.
3:58 am -> 4:02 am
Bạn có thể thiết lập lại và tăng dần, đó sẽ là 2+4+2 = 8
nhấn nút. Bạn cũng có thể tăng, đó sẽ là 1+4 = 5
nhấn nút. Do đó, đầu ra của bạn là 5
.
10:55 pm -> 1:00 am
Bạn có thể thiết lập lại và tăng dần, đó sẽ là 2+1 = 3
nhấn nút. Bạn cũng có thể tăng, đó sẽ là 3+5=8
nhấn nút. Do đó, đầu ra của bạn là 3
.
1:00 am -> 1:59 pm
Bạn có thể đặt lại và tăng, nhưng đó sẽ là ba lần nhấn hơn là chỉ tăng. Do đó, đầu ra của bạn là 12+59 =
71
.
Các trường hợp thử nghiệm
Current Target = Output
1:15pm 2:30am = 28
3:58am 4:02am = 5
10:55pm 1:00am = 3
1:00am 1:59pm = 71
12:00am 12:00am = 0
6:51pm 12:00am = 2
2:01pm 11:00pm = 25
2:01pm 11:01pm = 9
12:59am 12:01am = 2
11:50am 12:00pm = 11