Tôi thực sự thích thời gian theo mô hình nhất định. Cụ thể, tôi thích những thời điểm mà tất cả các chữ số đều giống nhau hoặc tất cả các chữ số đều tăng một cách hợp lý bởi một từ trái sang phải. Hơn nữa, tôi ghét một cách trực quan khi mọi người đặt thư vào thời của tôi, vì vậy tất cả những điều vô nghĩa AM / PM đó đã chết đối với tôi. Vì vậy, thời gian yêu thích của tôi là:
0000 0123 1111 1234 2222 2345
Để tôi yên tâm, tôi cần bạn viết cho tôi một chương trình duy nhất, với thời gian hiện tại là đầu vào, cả hai: (A) nếu bây giờ không phải là một trong những thời điểm yêu thích của tôi, hãy cho tôi biết cả hai (i) bao nhiêu phút kể từ lần yêu thích cuối cùng của tôi cũng như (ii) bao nhiêu phút kể từ bây giờ thời gian yêu thích tiếp theo của tôi sẽ xảy ra; và (B) nếu bây giờ là một trong những thời điểm yêu thích của tôi, hãy cung cấp một 'giá trị tín hiệu' duy nhất.
Đầu vào
Chương trình của bạn nên chấp nhận (bằng bất kỳ phương thức nào: đối số hàm, stdin
đối số dòng lệnh, v.v.) thời gian hiện tại, theo bất kỳ định dạng nào sau đây:
Một thời gian bốn chữ số như một chuỗi
Một số nguyên có thể được đệm bằng 0 ở bên trái để tạo thời gian gồm bốn chữ số dưới dạng chuỗi
Một chuỗi gồm bốn (hoặc ít hơn) số nguyên, được sắp xếp sao cho số nguyên đầu tiên trong chuỗi là chữ số ngoài cùng (có ý nghĩa) trong đầu vào thời gian (ví dụ:
0951
có thể được biểu diễn hợp lệ là[0, 9, 5, 1]
hoặc[9, 5, 1]
)- Biểu diễn
0000
dưới dạng một chuỗi có độ dài bằng không được chấp nhận
- Biểu diễn
Trong trường hợp đầu vào chuỗi, nó chỉ nên chứa các chữ số, không có dấu hai chấm hoặc dấu chấm câu khác. Đầu vào có thể được coi là luôn có hiệu lực trong 24 giờ : HHMM
, ở đâu 0 <= HH <= 23
và 0 <= MM <= 59
. Bỏ qua khả năng của một bước nhảy vọt thứ hai.
Đầu ra
Chương trình của bạn phải cung cấp (trả về hàm stdout
, v.v ... đều ổn) (A) hoặc (B) , phù hợp với việc giá trị đầu vào có phải là thời gian đích hay không.
Cho một):
Cung cấp hai giá trị số ở bất kỳ định dạng hợp lý nào, chẳng hạn như:
Đầu ra chuỗi đơn với một dấu phân cách phù hợp
Đầu ra số nguyên / chuỗi tuần tự, ví dụ,
bash
in hai dòng thànhstdout
:49 34
Các giá trị trả về có độ dài hai thứ tự, chẳng hạn như danh sách Python, mảng C, v.v.:
[49, 34]
Các giá trị có thể đến theo thứ tự. Ví dụ: cả hai điều sau đây sẽ là đầu ra hợp lệ cho đầu vào là 1200
:
49 34
34 49
Tuy nhiên, thứ tự và dấu phân cách phải giống nhau cho tất cả các giá trị đầu vào!
Dành cho (B):
Sản xuất bất kỳ kết quả khác không thể đạt được. Giống nhau kết quả phải được tạo ra cho tất cả sáu lần mục tiêu. Vòng lặp vô hạn được loại trừ.
Đầu vào / Đầu ra mẫu
YAY!!!
được sử dụng ở đây như một ví dụ minh họa và không được kê đơn.
Input Output
------ --------
0000 YAY!!!
0020 20 63
0105 65 18
0122 82 1
0123 YAY!!!
0124 1 587
0852 449 139
1111 YAY!!!
1113 2 81
1200 49 34
1234 YAY!!!
1357 83 505
1759 325 263
1800 326 262
1801 327 261
2222 YAY!!!
2244 22 61
2345 YAY!!!
2351 6 9
Đây là mã golf , vì vậy mã ngắn nhất tính bằng byte thắng. Sơ hở tiêu chuẩn là không được phép.