Saya sangat suka saat-saat yang mengikuti pola tertentu. Khususnya, saya suka saat-saat di mana semua digitnya sama, atau semua angka bertambah secara hitung satu dari kiri ke kanan. Lebih jauh lagi, saya sangat benci ketika orang-orang menaruh surat di zaman saya, jadi semua omong kosong AM / PM itu mati bagi saya. Jadi, waktu favorit saya adalah:
0000 0123 1111 1234 2222 2345
Untuk ketenangan pikiran saya, saya ingin Anda menulis saya satu program yang, mengingat waktu saat ini sebagai masukan, keduanya: (A) jika sekarang bukan salah satu waktu favorit saya, ceritakan pada saya (i) berapa menit sudah sejak waktu favorit terakhir saya serta (ii) berapa menit dari sekarang waktu favorit saya berikutnya akan terjadi; dan (B) jika adalah sekarang salah satu kali favorit saya, memasok 'nilai sinyal' tunggal.
Memasukkan
Program Anda harus menerima (dengan metode apa pun: argumen fungsi,, stdin
argumen baris perintah, dll.) Waktu saat ini, dalam salah satu format berikut:
Waktu empat digit sebagai string
Bilangan bulat yang dapat diisi nol di sebelah kiri untuk membuat waktu empat digit sebagai string
Urutan empat (atau lebih sedikit) bilangan bulat, diurutkan sedemikian rupa sehingga bilangan bulat pertama dalam urutan adalah digit paling kiri (signifikan) dalam input waktu (misalnya,
0951
dapat secara sah direpresentasikan sebagai[0, 9, 5, 1]
atau[9, 5, 1]
)- Mewakili
0000
sebagai urutan panjang nol dapat diterima
- Mewakili
Dalam hal input string, input hanya berisi digit, tanpa titik dua, atau tanda baca lainnya. Input dapat diasumsikan selalu valid 24 jam:, di HHMM
mana 0 <= HH <= 23
dan0 <= MM <= 59
. Abaikan kemungkinan lompatan kedua.
Keluaran
Program Anda harus menyediakan (pengembalian fungsi stdout
, dll. Semuanya baik-baik saja) baik (A) atau (B) , yang sesuai dengan apakah nilai input adalah waktu target atau tidak.
Untuk sebuah):
Berikan dua nilai numerik dalam format apa pun yang masuk akal, seperti:
Output string tunggal dengan pembatas yang sesuai
Output integer / string berurutan, misalnya,
bash
mencetak dua baris kestdout
:49 34
Panjang-dua nilai pengembalian yang diurutkan, seperti daftar Python, array C, dll .:
[49, 34]
Nilai bisa datang dalam urutan apa pun. Misalnya, kedua hal berikut ini akan menjadi output yang valid untuk input 1200
:
49 34
34 49
Namun, urutan dan pemisah harus sama untuk semua nilai input!
Untuk (B):
Menghasilkan hasil yang tidak dapat dicapai. Namun, hasil yang sama harus dihasilkan untuk keenam target waktu. Loop tak terbatas dikecualikan.
Input / Output Sampel
YAY!!!
digunakan di sini sebagai contoh demonstratif dan tidak bersifat preskriptif.
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
Ini adalah kode-golf , jadi kode terpendek dalam byte menang. Celah standar tidak diijinkan.