J'aime vraiment les moments qui suivent certains modèles. En particulier, j'aime les moments où tous les chiffres sont identiques, ou tous les chiffres augmentent de manière arithmétique de un de gauche à droite. De plus, je déteste viscéralement quand les gens mettent des lettres à mon époque, donc tout ce non-sens AM / PM est mort pour moi. Ainsi, mes moments préférés sont:
0000 0123 1111 1234 2222 2345
Pour ma tranquillité d'esprit, j'ai besoin que vous m'écriviez un seul programme qui, étant donné l'heure actuelle en entrée, à la fois: (A) si ce n'est pas maintenant l'un de mes moments préférés, me dit à la fois (i) combien de minutes c'est depuis mon dernier temps favori ainsi que (ii) combien de minutes à partir de maintenant mon prochain temps favori se produira; et (B) si elle est maintenant l' un de mes moments préférés, fournit une « valeur de signal » unique.
Contribution
Votre programme doit accepter (par n'importe quelle méthode: argument de fonction,, stdinargument de ligne de commande, etc.) l'heure actuelle, dans l'un des formats suivants:
- Un temps à quatre chiffres sous forme de chaîne 
- Un entier qui peut être complété par un zéro sur la gauche pour créer un temps à quatre chiffres sous forme de chaîne 
- Une séquence de quatre (ou moins) entiers, ordonnée de telle sorte que le premier entier de la séquence soit le chiffre le plus à gauche (significatif) dans l'entrée de temps (par exemple, - 0951pourrait être valablement représenté par- [0, 9, 5, 1]ou- [9, 5, 1])- Représenter 0000comme une séquence de longueur nulle est acceptable
 
- Représenter 
Dans le cas d'une entrée de chaîne, elle ne doit contenir que des chiffres, pas de deux-points ou d'autres signes de ponctuation.  On peut supposer que les entrées sont toujours valides sur 24 heures:, HHMM où 0 <= HH <= 23et 0 <= MM <= 59. Ignorez la possibilité d'une seconde intercalaire.
Production
Votre programme doit fournir (les retours de fonction stdout, etc. sont très bien) soit (A) ou (B) , selon que la valeur entrée est ou non une heure cible.
Pour un):
Fournissez deux valeurs numériques dans n'importe quel format raisonnable, telles que:
- Sortie à une chaîne avec un délimiteur approprié 
- Sorties séquentielles entières / chaînes, par exemple, - bashimpression de deux lignes pour- stdout:- 49 34
- Valeurs de retour ordonnées de longueur deux, telles qu'une liste Python, un tableau C, etc.: - [49, 34]
Les valeurs peuvent venir dans l'un ou l'autre ordre. Par exemple, les deux éléments suivants seraient des sorties valides pour une entrée de 1200:
49 34
34 49
Cependant, l'ordre et le séparateur doivent être les mêmes pour toutes les valeurs d'entrée!
Pour (B):
Produisez tout résultat autrement inaccessible. Le même résultat doit cependant être produit pour les six temps cibles. Les boucles infinies sont exclues.
Exemples d'entrées / sorties
YAY!!! est utilisé ici comme exemple démonstratif et n'est pas normatif.
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
C'est le code-golf , donc le code le plus court en octets l'emporte. Les failles standard ne sont pas autorisées.